2017-01-17 3 views
0

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


я называю xmlParseMemory, поэтому создаются xmlDocPtr, я присоединиться, например, к первому узлу КОНТЕНТА, я считаю, что его первыми дети имеют типа XML_TEXT_NODE и его имя «текст» и его ближайшие дети имеют типа «XML_ELEMENT_NODE» и его имя «label». Таким образом, у первых детей не много моего xml-буфера. И это применимо для всего документа, всегда первые дети каждого узла являются XML_TEXT_NODE, чье имя является «текстом». Так что это беспокоит мой синтаксический анализ.

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

С уважением.

+0

это XML-буфер: <Рисунок idTemplate = "44" Описание = "" название = "NewChart"> \t \t \t \t \t \t \t – ZINEBA

ответ

0

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

С уважением.

Смежные вопросы