如何在不使用docptr的情况下将CDATA作为值添加到特定节点
我想创建一个xml文件,如下所示。 我将子节点的值视为字符串,并使用函数xmlnewtexbad_CAST string添加它,其中string是我希望放置在子节点中的值如何在不使用docptr的情况下将CDATA作为值添加到特定节点,c,xml,libxml2,cdata,C,Xml,Libxml2,Cdata,我想创建一个xml文件,如下所示。 我将子节点的值视为字符串,并使用函数xmlnewtexbad_CAST string添加它,其中string是我希望放置在子节点中的值 <?xml version="1.0" encoding="UTF-8"?> <Root> <child>![CDATA[<data>hello</data>]]</child> </Root> 但这已转
<?xml version="1.0" encoding="UTF-8"?>
<Root>
<child>![CDATA[<data>hello</data>]]</child>
</Root>
但这已转化为
<?xml version="1.0" encoding="UTF-8"?>
<Root>
<child>![CDATA[<data>hello</data>]]</child>
</Root>
有谁能指导我这样做吗?我已经看到了一些问题,答案是基于使用docptr创建cdata部分。我需要在不使用docptr的情况下创建CDATA节。我只是带着根PTR。有可能吗?我使用c作为编程语言,我使用的库是libxml,您确实无法通过将XML内容作为文本插入DOM来构造XML内容。这个例子展示了其中的一些原因——不仅DOM正确地转义了文本节点的内容,而且您还得到了错误的语法 相反,使用节点工厂创建一个CDATA节节点,其中包含要包含在文档中的文本 或者-因为这里没有很好的理由使用CDATA节-创建一个文本节点,而不尝试手动将其内容包装在其中,并让DOM序列化程序根据需要对其进行转义。您可能会得到逐个字符的转义,这在XML文件中看起来并不漂亮。。。但对于任何正确编写的处理XML的应用程序来说,这意味着完全相同的事情
诚然,有些应用程序确实关心普通文本和CDATA部分之间的差异。这些应用程序的技术术语已断开。您应该为正在使用的编程语言添加一个标记。现在我都猜不出来了。