有没有更优雅的方法来将SimpleXML属性转义为数组?SimpleXML属性到数组
$result = $xml->xpath($xpath);
$element = $result[ 0 ];
$attributes = (array) $element->attributes();
$attributes = $attributes[ '@attributes' ];
我真的不想循环它只是为了提取键/值对。我需要的只是把它放到一个数组中,然后传递给它。我会认为attributes()
会默认完成它,或者至少给出选项。但我甚至无法在任何地方找到上述解决方案,所以我不得不自己弄清楚。我是否过分复杂化了这个或者什么?
编辑:
现在我还用上面的脚本,直到我肯定知道是否访问@属性数组是安全与否。
是的,但问题在于它仍然认为自己是SimpleXML元素,因此您必须将'$ attr ['a']'转换为字符串才能正常工作。我将这个数组传递给另一个不知道它应该是什么类型的类,只是它需要是一个数组。 – mseancole 2012-07-11 19:39:15
啊,你在编辑中得到它...循环比我目前做的更好吗?我会认为这样做没有循环会更快。 – mseancole 2012-07-11 19:42:40
@showerhead:我不知道这是否更好,但我总是学会不要直接阅读“@属性”属性。 – 2012-07-11 19:53:22