我有一个大的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()函数的内容,但我无法让它工作:( 谢谢你的帮助!
答案 0 :(得分:1)
您应该使用getName()
- 尝试类似:
foreach($xml->xpath('myNamespace:*') as $value) {
echo $value->getName().'='.$value.'<br />';
}