SimpleXML没有解析我的EPP XML消息 [英] SimpleXML is not parsing my epp XML messages

查看:0
本文介绍了SimpleXML没有解析我的EPP XML消息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试从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 
";
    echo "Admin C                 :    $admincuitxml 
";
    echo "Tech C                  :    $techcuitxml 
";
}

我做错了什么

一旦出现:-=或"标签中有问题

所有帮助都是肯定的

推荐答案

使用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

这篇关于SimpleXML没有解析我的EPP XML消息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆