ホームページ > バックエンド開発 > PHPチュートリアル > SimpleXML の XPath を使用して名前空間付き XML を正しく解析するにはどうすればよいですか?

SimpleXML の XPath を使用して名前空間付き XML を正しく解析するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-18 10:05:10
オリジナル
611 人が閲覧しました

How to Correctly Parse Namespaced XML with SimpleXML's XPath?

SimpleXML を使用して名前空間で XML を解析する方法

問題:

解析しようとしたときSimpleXML を使用した名前空間を含む XML、registerXPathNamespace() で問題が発生するmethod.

XML 構造:

<root xmlns:event="http://www.webex.com/schemas/2002/06/service/event">
  <event:event>
    <event:sessionKey>...</event:sessionKey>
    ...
  </event:event>
  ...
</root>
ログイン後にコピー

Xpath クエリの例:

「event:sessionKey」を抽出しようとしています価値観使用方法:

$xml->registerXPathNamespace('e', 'http://www.webex.com/schemas/2002/06/service/event');
$event->xpath('//e:sessionKey')
ログイン後にコピー

解決策:

問題は、XPath クエリに名前空間プレフィックス ('e') と完全な名前空間 URI の両方が必要であることにあります。 registerXPathNamespace() を使用しなくても、

修正済みコード:

$xml = new SimpleXMLElement($r);

foreach ($xml->xpath('//event:event') as $event) {
  var_export($event->xpath('event:sessionKey'));
}
ログイン後にコピー

以上がSimpleXML の XPath を使用して名前空間付き XML を正しく解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート