如何使用xpath / php获取xml文件中的节点名称?

时间:2012-08-06 14:54:46

标签: php xml xpath xmlnode

我有一个大的xml文件,我需要打印具有特定命名空间的每个条目及其节点的名称(使用PHP)。

例如,给定以下xml结构:

    <file>
        <myNamespace:node1>entry1</myNamespace:node1>
        <myNamespace:node2>entry2</myNamespace:node2>
        ... [any other nodes here] ...
    </file>

我想使用myNamespace命名空间为xml文件中的每个节点打印[node1,entry1],[node2,entry2]等元组。问题是,我不知道如何获取节点的名称('node1','node2',...),我只得到条目。现在我正在使用这段代码:

    foreach($xml->xpath('myNamespace:*') as $value) {
        echo $value.'<br />';
    }

我读了一些关于name()和local-name()函数的内容,但我无法让它工作:( 谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

您应该使用getName() - 尝试类似:

foreach($xml->xpath('myNamespace:*') as $value) { 
    echo $value->getName().'='.$value.'<br />'; 
}