IT虾米网

使用php怎么处理复杂的xml数据

flyfish 2023年03月17日 编程语言 28 0

具体如下:

<?php 
$xml = <<< XML 
<?xml version="1.0" encoding="utf-8"?> 
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd"> 
 <response> 
  <result code="1000"> 
   <msg>Command completed successfully</msg> 
  </result> 
  <resData> 
   <domain:chkData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0" xsi:schemaLocation="urn:ietf:params:xml:ns:domain-1.0 domain-1.0.xsd"> 
    <domain:cd> 
     <domain:name avail="0">qq.com</domain:name> 
     <domain:reason>Domain exists</domain:reason> 
    </domain:cd> 
    <domain:cd> 
     <domain:name avail="1">baidu.com</domain:name> 
     <domain:reason>Domain exists</domain:reason> 
    </domain:cd> 
   </domain:chkData> 
  </resData> 
  <trID> 
   <clTRID>REQ-001-0000000074</clTRID> 
   <svTRID>649334436-1440642163169</svTRID> 
  </trID> 
 </response> 
</epp> 
XML; 
$x = simplexml_load_string($xml); 
echo intval($x->response->result["code"]), "\n"; 
echo strval($x->response->result->msg), "\n"; 
$ns = $x->response->resData->getNamespaces(true); 
$cds = $x->response->resData->children($ns["domain"])->chkData->cd; 
foreach ($cds as $key => $value) { 
  echo intval($value->name->attributes()["avail"]), strval($value->name), strval($value->reason), "\n"; 
}

本文参考链接:https://www.yisu.com/zixun/344502.html
评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!