来自 xml 文件的 PHP 数组 - 获取未知的对象名称和属性



我像这样加载一个 xml 文件:

$xml = simplexml_load_file('test.xml'); 

然后我创建了一个数组:

$array= $xml->xpath('//objektart');

数组的内容如下所示:

Array
(
[0] => SimpleXMLElement Object
(
[haus] => SimpleXMLElement Object
(
[@attributes] => Array
(
[haustyp] => ZWEIFAMILIENHAUS
)
)
)
)

现在我想获取SimpleXMLElement Object 的名称= "haus" 属性 ="haustyp" 和 "ZWEIFAMILIENHAUS" 用于在网站上输出它们。

像"haus","haustyp"和"ZWEIFAMILIENHAUS"这样的值可能会有所不同,所以我不能依靠这些"关键字"来访问它们。只是从 xml 元素创建数组的方法保持不变。

谁能在这里指出我正确的方向?我被困了几个小时的测试没有任何结果......

我创建了一个包来简化 php 中的 xml 转换。你可以在这里找到它:

https://github.com/mtownsend5512/xml-to-array/blob/master/src/XmlToArray.php

它将允许您像这样转换您的 xml:

$xml = MtownsendXmlToArrayXmlToArray::convert(file_get_contents('test.xml'));

然后你可以用print_r($xml);检查 php 数组 如果选取属性,它们将位于@attributes键中。您可以自由使用 PHP 的许多数组函数来操作和循环数组。

如果您提供有关实际 xml 的更多信息,我可以提供更详细的示例。