Hello,
this sample code:
xmlDocPtr doc = xmlNewDoc((xmlChar*) "1.0");
xmlNodePtr root = xmlNewNode(NULL,(xmlChar*) "myxmldoc");
xmlDocSetRootElement(doc, root);
xmlNewTextChild(root, NULL, (xmlChar*)"mynode", (xmlChar*)"A text with signs
\016 and & and < and >.");
xmlSaveCtxtPtr ctxt = xmlSaveToFilename ("mypath/myfile.xml", "UTF-8",
XML_SAVE_FORMAT| XML_SAVE_AS_XML);
xmlSaveDoc(ctxt, doc);
xmlSaveClose(ctxt);
xmlFreeDoc(doc);
leads to this xml file:
<?xml version="1.0" encoding="UTF-8"?>
<myxmldoc>
<mynode> A text with signs and & and < and >. </mynode>
</myxmldoc>
Between "signs " and " and" is the \016 (or 0x0e) byte. The hexdump -Cv shows
it:
... 73 20 0e 20 61 ...
Now I try to read this file:
doc = xmlReadFile("mypath/myfile.xml", NULL, 0);
This leads to this message:
mypath/myfilexml:3: parser error : xmlParseCharRef: invalid xmlChar value 14
<mynode> A text with signs and & and < and >. </mynode>
^
My problem is: The xml2-library accepts in the API bytes without error and it
saves these data, but reject them on loading. :-(
In my point of view it would be better if the behavior would be the similar in
loading and API-calls. Or is there a special reason for this different behavior.
kind regards
Andreas Schigold
_______________________________________________
xml mailing list, project page http://xmlsoft.org/
[email protected]
https://mail.gnome.org/mailman/listinfo/xml