我目前正在尝试创建一个通用 PHP 类来启用 XML 数据的检索。数据都采用类似的格式,但元素名称不同,有时可能会有更多元素。示例 xml:
一个提要可能会显示:
<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 的方法?我知道我收到的每个提要都有表格,所以我每次都可以循环播放。谢谢您的帮助。