我有一个soap请求,我需要解析它并从发布的XML文件中获取Uri
<?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>
我使用SimpleXMLElement加载xml,我得到<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
。
如何获取登录元素及其命名空间?