SimpleXML を使用して名前空間を含む XML を解析する方法
この質問は、SimpleXML を使用して名前空間を含む XML を解析する難しさを解決します。具体的には、質問者は特定の名前空間プレフィックスを持つノードをループして値を表示しようとします。
これを実現するには、SimpleXML では名前空間の登録が必要ないことを理解することが不可欠です。提供された XML は、 registerXPathNamespace() を使用せずに直接解析できます。
event:event ノードをループし、event:sessionKey 値を抽出するための修正コードは次のとおりです。
$xml = new SimpleXMLElement($r); foreach($xml->xpath('//event:event') as $event) { var_export($event->xpath('event:sessionKey')); }
次のように指定します。 XPath クエリ内の完全な名前空間プレフィックスを使用すると、SimpleXML は名前空間を登録しなくても、目的の要素を正しく識別して取得できます。
以上がSimpleXML を使用して名前空間を含む XML を解析する方法: 特定の名前空間プレフィックスを持つノードをループする?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。