本文实例讲述了php处理复杂xml数据的方法。分享给大家供大家参考,具体如下:
<?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"; }
希望本文所述对大家PHP程序设计有所帮助。