我加载这样的xml文件:
$xml = simplexml_load_file('test.xml');
然后我创建了一个数组:
$array= $xml->xpath('//objektart');
数组的内容如下:
Array
(
[0] => SimpleXMLElement Object
(
[haus] => SimpleXMLElement Object
(
[@attributes] => Array
(
[haustyp] => ZWEIFAMILIENHAUS
)
)
)
)
现在,我要获取 SimpleXMLElement对象的名称 =“ haus” 和属性 =“ haustyp”和“ ZWEIFAMILIENHAUS”用于在网站上输出它们。
“ haus”,“ haustyp”和“ ZWEIFAMILIENHAUS”之类的值可以变化,因此我不能依靠这些“关键字”来访问它们。只是从xml-element创建数组的方法保持不变。
有人可以在这里指出正确的方向吗?我被困了几个小时,没有任何结果...
答案 0 :(得分:0)
我创建了一个软件包来简化php中的xml转换。您可以在这里找到它:
https://github.com/mtownsend5512/xml-to-array/blob/master/src/XmlToArray.php
它将允许您像这样转换xml:
$xml = \Mtownsend\XmlToArray\XmlToArray::convert(file_get_contents('test.xml'));
然后,您可以使用print_r($xml);
检查php数组。如果拾取了属性,则它们将在@attributes
键中。您可以自由使用PHP的许多数组函数来操纵和循环遍历该数组。
如果您提供有关实际xml的更多信息,我可以提供更详细的示例。