使用 php 读取命名空间 xml 数据
reading namespace xml data using php
我有 xml 数据
<ns:PartyIDs>
<ns:ID schemeName="PartyTypeNumber">009</ns:ID>
<ns:ID schemeName="PartyNumber">00038</ns:ID>
<ns:ID schemeName="PartySubNumber">00038</ns:ID>
</ns:PartyIDs>
我需要阅读并打印属性和值。使用 PHP.
现在我正在尝试使用 DOMDocument
$soap_do = curl_init();
curl_setopt($soap_do, CURLOPT_URL, $url );
curl_setopt($soap_do, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($soap_do, CURLOPT_TIMEOUT, 10);
curl_setopt($soap_do, CURLOPT_RETURNTRANSFER, true );
curl_setopt($soap_do, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($soap_do, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($soap_do, CURLOPT_POST, true );
curl_setopt($soap_do, CURLOPT_POSTFIELDS, $domObject->saveXML());
curl_setopt($soap_do, CURLOPT_HTTPHEADER, array('Content-Type: text/xml; charset=utf-8', 'Content-Length: '.strlen($domObject->saveXML()) ));
$response = curl_exec($soap_do);
$xml = new SimpleXMLElement($response); //file from response
$fileName="Response".date("Ymd_H_i_s");
$xml->saveXML($fileName);
$doc = new DOMDocument();
$doc->load($fileName);//loading response file
改用$doc->getElementsByTagNameNS()
。
详见说明书:http://php.net/DOMDocument.getElementsByTagNameNS
您需要提供本应在 XML 文件的根元素中指定为 xmlns:ns="http://..."
.
的 $namespaceUri
参数
我有 xml 数据
<ns:PartyIDs>
<ns:ID schemeName="PartyTypeNumber">009</ns:ID>
<ns:ID schemeName="PartyNumber">00038</ns:ID>
<ns:ID schemeName="PartySubNumber">00038</ns:ID>
</ns:PartyIDs>
我需要阅读并打印属性和值。使用 PHP.
现在我正在尝试使用 DOMDocument
$soap_do = curl_init();
curl_setopt($soap_do, CURLOPT_URL, $url );
curl_setopt($soap_do, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($soap_do, CURLOPT_TIMEOUT, 10);
curl_setopt($soap_do, CURLOPT_RETURNTRANSFER, true );
curl_setopt($soap_do, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($soap_do, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($soap_do, CURLOPT_POST, true );
curl_setopt($soap_do, CURLOPT_POSTFIELDS, $domObject->saveXML());
curl_setopt($soap_do, CURLOPT_HTTPHEADER, array('Content-Type: text/xml; charset=utf-8', 'Content-Length: '.strlen($domObject->saveXML()) ));
$response = curl_exec($soap_do);
$xml = new SimpleXMLElement($response); //file from response
$fileName="Response".date("Ymd_H_i_s");
$xml->saveXML($fileName);
$doc = new DOMDocument();
$doc->load($fileName);//loading response file
改用$doc->getElementsByTagNameNS()
。
详见说明书:http://php.net/DOMDocument.getElementsByTagNameNS
您需要提供本应在 XML 文件的根元素中指定为 xmlns:ns="http://..."
.
$namespaceUri
参数