【发布时间】:2013-09-04 03:44:47
【问题描述】:
我有一些xml,这是一个简单的版本。
<xml>
<items>
<item abc="123">item one</item>
<item abc="456">item two</item>
</items>
</xml>
在内容上使用 SimpleXML,
$obj = simplexml_load_string( $xml );
我可以使用$obj->xpath( '//items/item' ); 并访问@attributes。
我需要一个数组结果,所以我尝试了 json_decode(json_encode($obj),true) 技巧,但这似乎是删除对 @attributes 的访问(即 abc="123")。
是否有另一种方法可以提供对属性的访问并为我留下一个数组?
【问题讨论】:
-
“我需要一个数组结果” - 为什么?您需要它采用什么格式?如果您不介意它的格式,那么只需存储
$item->asXML();并下次重新解析即可。 -
我正在处理数据以期望标准数组格式的其他方法
-
那么任何内置的 PHP 函数如何知道“标准数组格式”需要是什么样的呢?您的代码需要将 you 期望的输入解析为 you 需要的输出。
-
IMSoP,我会通读你所有的 SimpleXML 主题,希望能得到一些指点。