ホームページ >バックエンド開発 >PHPチュートリアル >名前空間を含む XML ファイルに対して print_r() を使用すると、SimpleXML オブジェクトが空になるのはなぜですか?
simplexml_load_file() で XML ファイルをロードし、print_r($xml) はなぜ空のように見えるのか疑問に思うかもしれません:
<code class="xml"><ArrayOfItem> <Item> <attributes> <Attribute> <dataType>string</dataType> </Attribute> </attributes> </Item> </ArrayOfItem></code>
<code class="php">$xml = simplexml_load_file('myfile.xml'); print_r($xml);</code>結果:
SimpleXMLElement Object ( [Item] => SimpleXMLElement Object ( ) )
なぜこれは空ですか?
この理由は、print_r() が
解決策:
これらの要素の内容にアクセスして出力するには、SimpleXMLElement など、XML 名前空間を処理するように特別に設計されたメソッドを使用します。 :children() または SimpleXMLElement::xpath()。例:
以上が名前空間を含む XML ファイルに対して print_r() を使用すると、SimpleXML オブジェクトが空になるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。