ホームページ >バックエンド開発 >PHPチュートリアル >プレフィックスを宣言せずに SimpleXML を使用して名前空間を含む XML を解析するにはどうすればよいですか?

プレフィックスを宣言せずに SimpleXML を使用して名前空間を含む XML を解析するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-27 01:24:09634ブラウズ

How Can I Parse XML with Namespaces Using SimpleXML Without Declaring a Prefix?

SimpleXML を使用した名前空間による XML の解析

このシナリオでは、XML 名前空間を持つ XML ドキュメントがあり、SimpleXML を使用してそれを解析します。 。提供された例は失敗しますが、名前空間プレフィックスを宣言せずに SimpleXML を使用して目的の結果を達成することは可能です。

解決策:

$xml = new SimpleXMLElement($xmlContent);

foreach ($xml->xpath('//event:event') as $event) {
    var_export($event->xpath('event:sessionKey'));
}

説明:

名前空間プレフィックスを登録する代わりに、単に完全なプレフィックスを含めることができます。 XPath 式の名前空間プレフィックス。この場合、「event」名前空間の場合:

  • e:event は、event:event
  • e:sessionKey は、event:sessionKey

結果:

コードはすべてのコードを正しくループするようになりました。 event:event ノードを参照し、event:sessionKey ノードの値を表示します。

以上がプレフィックスを宣言せずに SimpleXML を使用して名前空間を含む XML を解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。