4

(単純で当たり前の)xmlを配列に変換する素晴らしい関数があり、そのためにSimpleXmlIteratorクラスを使用します。

SimpleXmlIteratorそれは非常にうまく機能しますが、xml ソース文字列またはオブジェクトだけでなくSimpleXmlElement、イテレータ (実際にはその関数でのみ使用する) よりも頻繁に使用するため、s も受け入れるようにしたいと思います。

私がこれまでに行ったことは、

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

でも私にとっては、東京を通ってパリからロンドンに行くようなものです。結局のところ、SimpleXmlIteratorextendsなので、オブジェクトをSimpleXmlElementに変換するより良い方法はありますか?SimpleXmlElementSimpleXmlIterator

4

2 に答える 2

2

http://php.net/manual/de/function.simplexml-load-file.phpで 2 番目のパラメーターを設定することにより、最初に SimpleXMLIterator を使用できます。

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

結果として得られるすべてのオブジェクトは、SimpleXMLIterator-Objects になりました

于 2015-07-27T07:37:28.197 に答える
-1

SimpleXMLIteratorXML をオブジェクトとして使用する予定がある場合は、最初にすべての XML をオブジェクトに解析してみませんか?

私の知る限り、 から に変換/キャストする簡単な方法はありませSimpleXMLElementSimpleXMLIterator。これらのクラスは単純に libxml リソースをラップするので、リソース ハンドルを取得してコンストラクタに渡す方法があると思われるかもしれSimpleXML*ませんが、もしあればニュースです。

于 2012-12-08T18:42:35.660 に答える