2009-12-16 101 views
5

我无法找到一种方法来提取节点的所有属性的列表,而无需知道它们的名称。使用libxml获取节点的所有属性列表

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

但如何使用libxml2的所有属性的列表:

我使用提取单已知特性?

问候, 的Marius

+1

我建议增加一个标记,用于指定您所使用的语言 – Houtman 2009-12-16 09:20:36

回答

12

通过该节点的属性列表简单的循环,即:

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

有趣,不会出现要执行此(虽然奇怪有xmlFreePropList功能)的方法,但使用XMLNode结构具有一个指向属性(特性)的列表节点。你可能会得到一个指向该结构的指针。