我正在嘗試創建一個通用PHP類來啓用XML數據的檢索。數據都以相似的格式出現,但會有不同的元素名稱,有時可能會有更多的元素。示例XML:在不知道元素名稱的情況下獲取XML元素內容PHP
一個供給可能會出現這樣的:
<GroupData>
<Table diff:id="1">
<Code>1</Code>
<Name>Red</Name>
<Type>X</Type>
</Table>
<Table diff:id="2">
<Code>2</Code>
<Name>Yellow</Name>
<Type>Y</Type>
</Table>
</GroupData>
另一種飼料可能會顯示:
<GroupData>
<Table diff:id="1">
<Code>1</Code>
<Name>Red</Name>
</Table>
<Table diff:id="2">
<Code>2</Code>
<Name>Yellow</Name>
</Table>
</GroupData>
我的PHP是這樣的:
$dom = DOMDocument::loadXML($xml);
$node_list = $dom->getElementsByTagName('Table');
for($i=0; $i < $node_list->length; $i++) {
echo $node_list->item($i)->nodeValue;
}
這使回的數據,但它不是我想要的。我想分解出來,以便我可以看到元素名稱和元素值,然後從數據中創建一個數組以備將來使用。有沒有辦法做到這一點,而不使用「getElementsByTagName」這是我以前用於獲取XML?我知道我收到的每個Feed都會有Table,因此每次都可以循環播放。 感謝您的幫助。
嘗試http://php.net/manual/en/domxpath.query.php並使用正確的選擇 –