2015-09-10 5 views
0

У меня есть данные XML в качествечтение данных имен XML с помощью PHP

 <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

Вы должны задать вопрос? что происходит не так? что вы пробовали? –

+0

Вы должны изучить XPath для обработки данных в DOMDocument с помощью определенных имен узлов. См. Здесь для вдохновения: http://stackoverflow.com/questions/230592/xpath-query-with-php –

+0

, когда я пытаюсь использовать $ PartyIDs = $ doc-> getElementsByTagName ('ns: PartyIDs'); $ id = $ PartyIDs-> item (0); echo $ id-> nodeValue; это дает мне ошибку. Попытка получить свойство не-объекта. – Santy

ответ

0

Используйте $doc->getElementsByTagNameNS() вместо этого.

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

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

+0

Спасибо всем, что помогло – Santy