【发布时间】:2018-03-16 08:33:50
【问题描述】:
我正在使用带有 C 的 libxml2 来解析 XML 格式的 const char *。当我为此字符串创建xmlDocPtr(使用xmlReadMemory(..))时,生成的xmlDocPtr 不会保留原始形式的空节点(<tag></tag>)。它将每一对合并到一个标签 (<tag/>) 中。就我而言,它正在制造问题。
有什么办法可以保留这些空节点的原始形式?
我在xmlReadMemory() 中看到了“选项”参数,但不确定是否可以将其用于此目的。
【问题讨论】:
-
您需要以哪种方式使用 xmlDocPtr ?您需要使用它来保存文件还是解析它?为什么需要两个标签?
-
在获得 xmlDocPtr 后,我正在对其进行转储 (xmlNodeDump)。我将在程序的稍后时间点使用转储的一部分(作为 char *)进行进一步处理。
-
在这里看看这个函数 xmlKeepBlanksDefault():xmlsoft.org/html/libxml-parser.html#xmlKeepBlanksDefault