<a>
<b id="bye">
<name>john</name>
</b>
<b id="goodbye">
<name>emma</name>
</b>
</a>
使用XML文件,我想打印的东西,如:PHP - 获取标记的位置的DomDocument
b with id:bye has position 0
b with id:goodbye has position 1
<a>
<b id="bye">
<name>john</name>
</b>
<b id="goodbye">
<name>emma</name>
</b>
</a>
使用XML文件,我想打印的东西,如:PHP - 获取标记的位置的DomDocument
b with id:bye has position 0
b with id:goodbye has position 1
您可以使用DOM的XPath来得到你所需要的(更新输出更好匹配原始帖子)。
<?php
$xml = '<a>
<b id="bye">
<name>john</name>
</b>
<b id="goodbye">
<name>emma</name>
</b>
</a>';
$dom = new DOMDocument();
$dom->loadXML($xml);
foreach ($dom->getElementsByTagName("b") as $domNode) {
print "b with id:{$domNode->attributes->getNamedItem("id")->nodeValue} has position {$domNode->getNodePath()}\n";
}
应为您提供:
b with id:bye has position /a/b[1]
b with id:goodbye has position /a/b[2]
我从文件中获取xml – estacontrolao 2013-03-13 11:11:42
您可以使用loadXML(file_get_contents($ yourFile))或loadHTMLFile($ yourFile) – conrad10781 2013-03-13 11:13:05
定义的位置?相对于什么?兄弟姐妹指数?你如何显示这些项目?你是通过domnodelist循环吗? – PeeHaa 2013-03-13 11:04:39
定义B标签的重复次数,并打印每个标签的位置。没有行号和所有文档 – estacontrolao 2013-03-13 11:07:21
您使用哪个库来解析此xml? – haim770 2013-03-13 11:09:03