我正在使用libxml2读取/写入xml文件。现在我试图写一个CDATA节点。如何使用libxml2编写CDATA节点?
这里是我的尝试:
nodePtr = xmlNewChild(parentPtr, NULL, "foo", NULL);
xmlNodeSetContentLen(nodePtr, "<![CDATA[\nTesting 1 < 2\n]]>", len);
然而,这导致后面的编码文本:
<foo><![CDATA[
Testing 1 < 2
]]></foo>
我在想,也许有可能是一个特定的CDATA-libxml2的API。或者,也许我必须调用别的东西来告诉libxml2不要自动编码节点内容?
斯特凡的一部分,什么都在doc它不会有问题代码的第二行。它是一个docptr。有没有办法做到不使用docptr。 – 2014-01-10 06:37:26
@Stephane xmlNewChild需要3个参数。不是4. – milaniez 2017-02-22 00:52:10
@milaniez请注意,我在2011年写了这篇文章。很多事情在2011年和2017年之间都发生了变化! – 2017-02-22 01:56:19