我正在编写一个从给定数据创建xml树的库。
问题是数据包含节点内的标签。
例如
<node> "this is a very <bold>huge</bold> text" </node>
引号 - 只是为了分隔给我的文字=)
当我使用libxml创建一个xml然后将其写入控制台(使用xmlDumpMEmeory)时,我得到:
<node>this is a very <bold>huge</bold> text</node>
我明白为什么会如此但却没有想法如何正常解决这个问题。 我看到的唯一解决方案是手动替换&lt;和&gt;在我的:: ToString()中 但是我应该替换其他任何符号(例如&lt;,&gt;)吗?
请注意
答案 0 :(得分:0)
如果您希望在元素内容中嵌入此类特殊字符,则需要将它们包装为CDATA。一致的XML实现将始终执行您在此处注意到的内容。
libxml应该有一些方法将元素内容写为CDATA,应该为你解决这个问题。 This看起来很有希望:
功能:xmlTextWriterWriteCDATA
写一个xml CDATA。