我有一个很好的函数将一个(简单的,duh)xml转换为一个数组,为此它使用了SimpleXmlIterator
类。
它工作得很好,但我想让它不仅接受xml源字符串或SimpleXmlIterator
个对象,而且SimpleXmlElement
也是因为我使用它们的方式更常见的是迭代器(我实际上只使用那个函数。)
到目前为止我做的是
$iter = new SimpleXmlIterator($xml->asXML());
但对我而言,这就像穿过东京从巴黎到伦敦。毕竟,SimpleXmlIterator
扩展了SimpleXmlElement
,那么有更好的方法将SimpleXmlElement
对象转换为SimpleXmlIterator
吗?
答案 0 :(得分:1)
您可以通过在http://php.net/manual/de/function.simplexml-load-file.php
中设置第二个参数来开始使用SimpleXMLIterator$yourSimpleXMLIteratorObject = simplexml_load_file("your_file.xml","SimpleXMLIterator");
生成的所有对象,现在是SimpleXMLIterator-Objects
答案 1 :(得分:-1)
如果您打算将所有XML解析为SimpleXMLIterator
个对象,为什么不打算这样做?
据我所知,没有一种简单的方法可以将SimpleXMLElement
转换为SimpleXMLIterator
。这些类只是包装一个libxml资源,所以 认为有一种方法可以获取资源句柄并将其传递给SimpleXML*
构造函数,但是如果它对我来说是新闻。