анализ xml — чтение данных пространства имен xml с использованием переполнения стека

У меня есть данные 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

0

Решение

использование $doc->getElementsByTagNameNS() вместо.

Смотрите руководство для деталей: http://php.net/DOMDocument.getElementsByTagNameNS

Вам нужно будет предоставить $namespaceUri параметр, который должен был быть указан в корневом элементе файла XML как xmlns:ns="http://...",

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]