SOAP XML の解析: 総合ガイド
SOAP XML から 'payment' 要素を取得することは、特に名前空間プレフィックスの場合、困難な作業になる可能性があります。が関与している。この記事では、この問題の解決策を提供し、SOAP XML を効果的に解析するプロセスを説明します。
SOAP XML 名前空間
XML の名前空間は、区別するために使用されます。さまざまな XML 語彙の要素。提供された SOAP XML では、「payment」要素は次の名前空間に属しています:
xmlns="http://apilistener.envoyservices.com"
XPath 式が解析できないため、この名前空間プレフィックス ('xmlns') が問題の原因となっています。要素を正しい名前空間と一致させます。
名前空間の削除Prefix
簡単な解決策の 1 つは、simplexml で解析する前に、XML 応答から名前空間プレフィックスを削除することです。これは、単純な文字列置換を使用して実現できます。
$your_xml_response = '<Your XML here>'; $clean_xml = str_ireplace(['SOAP-ENV:', 'SOAP:'], '', $your_xml_response); $xml = simplexml_load_string($clean_xml);
これにより、XML から名前空間プレフィックスが効果的に削除され、simplexml が応答を正しく解析できるようになります。
XPath Expression for 'payment'
名前空間プレフィックスが削除されたので、単純な「payment」要素を抽出するための XPath 式:
$item = $xml->PaymentNotification->payment;
これにより、「payment」要素が $item 変数に割り当てられ、次のように子要素にアクセスできるようになります:
echo $item->uniqueReference; // ESDEUR11039872
結論
名前空間の概念を理解していれば、SOAP XML の解析は簡単になります。そして適切な解析手法を使用してください。名前空間プレフィックスを削除し、正しい XPath 式を使用すると、SOAP 応答から目的の 'payment' 要素を簡単に抽出できます。
以上がSOAP XML 応答から「payment」要素を効率的に抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。