2013-11-07 4 views
3

У меня есть запрос на мыло, и мне нужно, чтобы разобрать его и получить Ури из публикуемую файла XMLPHP SimpleXMLElement получить детей с другим пространством имен XML

<?xml version="1.0" encoding="UTF-8"?> 
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
     xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <soap:Body soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> 
     <q1:login xmlns:q1="THE NAMESPACE I NEED"> 
      <user xsi:type="xsd:string">user</user> 
      <password xsi:type="xsd:string">pass</password> 
     </q1:login> 
    </soap:Body> 
</soap:Envelope> 

я загрузить XML с SimpleXMLElement, я получаю <soap:Body элемент (в $ body_node) НО я не могу получить его детей (чтобы получить его пространство имен).

в $body_node->asXML(); возвращается:

<soap:Body soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> 
    <q1:login xmlns:q1="THE NAMESPACE I NEED"> 
     <user xsi:type="xsd:string">user</user> 
     <password xsi:type="xsd:string">pass</password> 
    </q1:login> 
</soap:Body> 

$body_node->count() return 0; и $body_node->children()->asXML() returns false.

Как получить элемент входа и его пространство имен?

ответ

Смежные вопросы