libxml2的xmlParseMemory返回奇怪的xmlDocPtr

时间:2017-01-17 12:12:52

标签: xml libxml2

我使用libxml2来解析xml缓冲区。首先,我调用xmlParseMemory函数来创建xmlDocPtr文档,然后我调用getnodeset函数以获取我需要的节点。 问题在于创建xmlDocPtr文档,我们假设我们有一个像这样的xml缓冲区:

                                                                                                                                                                                                                                                               

我调用了xmlParseMemory,因此创建了xmlDocPtr,例如我加入了第一个CONTENT节点,我发现他的第一个子类型是XML_TEXT_NODE,他的名字是“text”,他的下一个子类型是“XML_ELEMENT_NODE” “而他的名字是”标签“。所以第一个孩子的xml缓冲区并不多。 这适用于所有文档,每个节点的第一个子节点始终是名称为“text”的XML_TEXT_NODE。所以,这扰乱了我的解析。

我想知道为什么会得到这样的结果?

问候。

1 个答案:

答案 0 :(得分:0)

我理解为什么会得到这样的结果。这是因为我在XML标签之间有空格和换行符。因此,为避免此类问题,xml缓冲区或xml文件不得在标记之间包含任何空格或换行符。

的问候。