使用libxml获取节点的所有属性的列表

时间:2009-12-16 09:18:11

标签: c xml libxml2

我无法找到一种方法来提取节点的所有属性列表,而不知道它们被称为什么。

我使用以下方法提取单个已知属性:

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

但是如何使用libxml2获取所有属性的列表?

此致 的Marius

2 个答案:

答案 0 :(得分: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 ...
}

答案 1 :(得分:0)

有趣的是,似乎不是一个执行此操作的方法(虽然奇怪的是有xmlFreePropList函数),但xmlNode结构有一个指向节点属性(属性)列表的指针。你可能会得到一个指向该结构的指针。