<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