SimpleXML不解析我的epp XML消息

时间:2014-02-14 19:45:33

标签: xml simplexml epp

我正在尝试从SIDN返回xml epp消息中提取信息

但我不能从这些消息中获取一些变量。 我设法得到结果代码和消息。

$ domaininfo = xml消息,可在以下位置查看:http://pastebin.com/HbXMkdD3

    $xml = new SimpleXMLElement($domeininfo);
// check result code
    if (isset($xml->response->result))
        { foreach($xml->response->result->attributes() as $name => $value) {
            if ($name === 'code')
            { $code = $value; }
          }
        }

if ($code == '1000')
{
    $domeinnaamuitxml = $xml->response->{'resData'}->{'domain:infData'}->{'domain:name'};
    $techcuitxml = $xml->response->{'resData'}->{'domain:infData'}->{'domain:contact type="tech"'};
    $admincuitxml = $xml->response->{'resData'}->{'domain:infData'}->{'domain:contact type="admin"'};
    echo "Domein naam             :    $domeinnaamuitxml \n";
    echo "Admin C                 :    $admincuitxml \n";
    echo "Tech C                  :    $techcuitxml \n";
}

我做错了什么

一旦出现: - =或“标签中存在问题

,它就会接缝

所有的帮助肯定是welkom

1 个答案:

答案 0 :(得分:1)

使用xpath选择带simplexml的命名空间元素:

$domeinnaamuitxml = (string)$xml->xpath("//domain:name"}[0];

评论:由于[0](数组解除引用),上述代码需要PHP> = 5.4。在旧版本的PHP中,请执行:

 $domeinnaamuitxml = $xml->xpath("//domain:name"};
 $domeinnaamuitxml = (string)$domeinnaamuitxml[0];

看到它有效:https://eval.in/101915