4

我有一个很好的函数,可以将(简单的,duh)xml 转换为数组,为此它使用了SimpleXmlIterator类。

它工作得很好,但我想让它不仅接受 xml 源字符串或SimpleXmlIterator对象,而且SimpleXmlElement因为我更频繁地使用它们而不是迭代器(实际上我只是在那个函数中使用)。

到目前为止我所做的是

$iter = new SimpleXmlIterator($xml->asXML());

但对我来说,这就像从东京经过东京从巴黎到伦敦一样。毕竟,SimpleXmlIteratorextends SimpleXmlElement,那么有没有更好的方法将SimpleXmlElement对象转换为 a SimpleXmlIterator

4

2 回答 2

2

您可以通过在http://php.net/manual/de/function.simplexml-load-file.php中设置第二个参数来在开头使用 SimpleXMLIterator

$yourSimpleXMLIteratorObject = simplexml_load_file("your_file.xml","SimpleXMLIterator");

所有产生的对象,现在都是 SimpleXMLIterator-Objects

于 2015-07-27T07:37:28.197 回答
-1

SimpleXMLIterator如果您打算这样使用它们,为什么不首先将所有 XML 解析为对象呢?

据我所知,没有一种简单的方法可以SimpleXMLElementSimpleXMLIterator. 这些类只是简单地包装了一个 libxml 资源,因此您认为有一种方法可以获取资源句柄并将其传递给SimpleXML*构造函数,但如果有的话对我来说是新闻。

于 2012-12-08T18:42:35.660 回答