Получение списка всех свойств узла с использованием libxml - PullRequest
5 голосов
/ 16 декабря 2009

У меня проблемы с поиском способа извлечения списка всех свойств узла, не зная, как они называются.

Я извлекаю отдельные известные свойства, используя:

xmlGetProp(cur, (const xmlChar*)"nodename")

Но как получить список всех свойств, используя libxml2?

С уважением, Marius

Ответы [ 2 ]

12 голосов
/ 17 декабря 2009

Просто переберите список свойств узла, то есть:

xmlNodePtr Node = ...;
for(xmlAttrPtr attr = Node->properties; NULL != attr; attr = attr->next)
{
    ... do something with attr ...
    ... the name of the attribute is in attr->name ...
}
0 голосов
/ 16 декабря 2009

Интересно, что это не тот метод, который делает это (хотя странно, что есть функция xmlFreePropList), но структура xmlNode имеет указатель на список свойств (атрибутов) узла. Вы, вероятно, можете получить указатель на эту структуру.

...