我面临一个奇怪的问题,我以输入形式获取XML数据,例如
<DDATA>
<DATA_CONTENT="<p>��</p><p>��</p><p>��</p>"/>
</DATA>
并尝试使用 libxml2 进行解析
xmlReaderForMemory(inputData.c_str(),inputData.length(),NULL,NULL,NULL)
问题是XML解析器t process the parsing because of "&"
image string in sample input is "��' is UTF-8 encoded UNICODE or HTML data so data is correct,
but problem is "&" is not possible in XML Data. it shoulde be changed as "&" but i can
可以不更改输入数据。
数据是在Android系统中使用TransformerFactory()制作的,并且能够通过JAVA上的DOM进行解析
但我需要在 C/C++ 中解析它。 所以我尝试使用 libxml2 解析 XML 数据,但是......没有办法解决这个问题..
请帮助我,提前感谢
�
(U+D83D) 和 �
(U+DE0A) 是 Unicode 代理项的数字字符引用,在 XML 中是不允许的。因此,libxml2 在拒绝此类字符引用时会做正确的事情。
应通过首先组合代理项来更改生成此无效 XML 的代码部分。例如,代理项对D83D DE0A
是代码点 U+1F60A 的 UTF-16 编码:笑脸与笑眼睛。XML 生成器应输出😊
或十进制😊
。