4

我有一个肥皂请求,我需要解析它并从发布的 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。_

如何获取登录元素及其命名空间?

4

1 回答 1

0

这个问题在 php 5.3 中被报告为 abug。请在此处查看 https://bugs.php.net/bug.php?id=66044

于 2013-11-07T10:22:06.193 回答