xmlParseMemory из libxml2 возвращает странный xmlDocPtr

Я использую libxml2 для анализа буфера xml. Сначала я вызываю функцию xmlParseMemory для создания документа xmlDocPtr, а позже я вызываю функцию getnodeset для получения узла, который мне нужен.
Проблема в создании документа xmlDocPtr, мы предполагаем, что у нас есть буфер xml, как это:


Я вызываю xmlParseMemory, поэтому создается xmlDocPtr, я присоединяюсь, например, к первому узлу контента, я нахожу, что его первые потомки имеют тип XML_TEXT_NODE и его имя «text» и его следующие потомки имеют тип «XML_ELEMENT_NODE» и его имя «label». Таким образом, первые дети не очень Мой XML-буфер.
И это применимо для всего документа, всегда первыми дочерними элементами каждого узла является XML_TEXT_NODE с именем «text». Итак, это мешает моему разбору.

Интересно, почему я получаю такой результат??

С уважением.

1 ответ

  1. Я понимаю, почему получаю такой результат. Это потому, что у меня есть пространство и разрыв линии между XML-тегом. Таким образом, чтобы избежать такой проблемы, XML-буфер или xml-файл не должны содержать пробелов или разрывов между тегами.

    С уважением.