この記事の例では、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 プログラミングの皆さんに役立つことを願っています。
複雑な XML データを処理する PHP の例に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。