2010-11-19 88 views
0

我在写一个库,它可以根据给定的数据创建xml树。 问题是数据包含节点内的标签。 例如 <node> "this is a very <bold>huge</bold> text" </node> 报价 - 当我使用的libxml创建一个XML只是分开给我的文本=) 然后把它写入(使用xmlDumpMEmeory)我得到安慰: <node>this is a very &lt;bold&gt;huge&lt;/bold&gt; text</node>C++。 libxml2的。 < and >被替换为<和> INSIDE标签

我明白为什么它是如此,但没有想法如何解决这个问题。 我看到的唯一解决方案是在我的:: ToString() 中手动替换<和>但是是否还有其他符号(如<,>)应该替换?

THX注意力

+0

目前还不清楚你的程序消费和生产什么。请将您的输入和输出反引号,以便将它们设置为“打字机字体”。 – 2010-11-19 12:57:55

+0

我了解情况,但不是问题。你想看到什么不同的行为? – sharptooth 2010-11-19 14:38:42

+0

您的数据很难理解,因为Stack Overflow专门处理打开和关闭标签。要从字面上嵌入XML或代码,您应该选择所需的文本,然后按代码按钮(图标101010')。 – 2010-11-19 14:42:47

回答

0

如果要嵌入特殊字符,如这在元素的内容,他们需要被包装为CDATA。一致的XML实现将始终执行您在此注意到的内容。

libxml应该有一些方法来将元素内容写为CDATA,它应该为您解决这个问题。 This看起来很有希望:

功能:xmlTextWriterWriteCDATA

编写XML CDATA。

相关问题