libxml2的xmlParseMemory返回奇怪的xmlDocPtr

libxml2的xmlParseMemory返回奇怪的xmlDocPtr,xml,libxml2,Xml,Libxml2,我使用libxml2解析xml缓冲区。首先调用xmlParseMemory函数以创建xmlDocPtr文档,然后调用getnodeset函数以获取所需的节点。 问题在于创建xmlDocPtr文档时,我们假设有这样一个xml缓冲区: 我调用xmlParseMemory,创建xmlDocPtr,例如,我加入第一个内容节点,我发现他的第一个孩子是XML_TEXT_node类型,他的名字是“TEXT”,他的下一个孩子是“XML_ELEMENT_node”类型,他的名字是“label”。因此,第一个

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


我调用xmlParseMemory,创建xmlDocPtr,例如,我加入第一个内容节点,我发现他的第一个孩子是XML_TEXT_node类型,他的名字是“TEXT”,他的下一个孩子是“XML_ELEMENT_node”类型,他的名字是“label”。因此,第一个孩子没有多少xml缓冲区。 这适用于所有文档,每个节点的第一个子节点总是一个名为“TEXT”的XML\u TEXT\u节点。所以,这干扰了我的分析

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


问候。

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

问候

这是xml缓冲区: