Взгляните на этот метод из этого примера на веб-сайте libxml2:
static void
print_element_names(xmlNode * a_node)
{
xmlNode *cur_node = NULL;
for (cur_node = a_node; cur_node; cur_node = cur_node->next) {
if (cur_node->type == XML_ELEMENT_NODE) {
printf("node type: Element, name: %s\n", cur_node->name);
}
}
print_element_names(cur_node->children);
}
Обратите внимание, что этот код проверяет, имеет ли узел тип XML_ELEMENT_NODE
перед печатью его имени,Узел "text"
, который вы читаете, - это текст между открывающим и закрывающим тегами:
<myTag>This is the text between the tags</myTag>