【发布时间】:2014-06-15 14:46:45
【问题描述】:
我有一个如下所示的 xml:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<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="1001">
<msg>Command completed successfully; action pending</msg>
<extValue>
<value xmlns:epp="urn:ietf:params:xml:ns:epp-1.0">
<epp:undef/>
</value>
<reason>200 Command completed successfully</reason>
</extValue>
</result>
<extension>
<keyvalue:extension xmlns:keyvalue="http://schema.ispapi.net/epp/xml/keyvalue-1.0"
xsi:schemaLocation="http://schema.ispapi.net/epp/xml/keyvalue-1.0 keyvalue-1.0.xsd">
<keyvalue:kv key="APPLICATION" value="3725"/>
<keyvalue:kv key="AUTH" value="ZBh5ralfPl"/>
<keyvalue:kv key="CLASS" value="APP_EOI"/>
<keyvalue:kv key="CREATEDBY" value="SYSTEM"/>
<keyvalue:kv key="CREATEDDATE" value="2012-09-03 09:47:10"/>
<keyvalue:kv key="DOMAIN" value="example2.app"/>
<keyvalue:kv key="DOMAINUMLAUT" value="example2.app"/>
<keyvalue:kv key="PEERUSER" value=""/>
<keyvalue:kv key="STATUS" value="REQUESTED"/>
<keyvalue:kv key="UPDATEBY" value="SYSTEM"/>
<keyvalue:kv key="UPDATEDDATE" value="2012-09-03 09:47:10"/>
<keyvalue:kv key="USER" value="test.user"/>
</keyvalue:extension>
</extension>
<trID>
<svTRID>RW-22720-1346665630348630</svTRID>
</trID>
</response>
</epp>
我正在尝试遍历键值,直到找到具有 APPLICATION 键的键值。 这就是我目前所拥有的
$xml = new SimpleXMLElement($response);
$namespaces = $xml->getNamespaces(true);
$nodes = $xml->response->extension->children($namespaces["keyvalue"])->extension->children($namespaces["keyvalue"])->children();
print_r($nodes);
返回
SimpleXMLElement 对象 ( [@attributes] => 数组 ( [关键] => 应用 [价值] => 3725 )
)
但我不能在 $nodes 或 $nodes[0] 上调用 attributes() 方法,因为它会引发警告或返回空元素。
你能指导我正确的方向吗?
谢谢
【问题讨论】: