我有这个XML文件,我需要从中提取USER_NAME和USER_ID以及IP的值。我使用:
将XML加载到SimpleXML中$xmlObj=new SimpleXMLElement($xmlstring);
但我现在不知道该怎么做..
<?xml version="1.0" encoding="UTF-8"?>
<content>
<response>
<state>
<code>1</code>
</state>
<userinformationlist>
<userinformation>
<attribute key="USER_NAME">Charles</attribute>
<attribute key="USER_ID">88477299101</attribute>
<attribute key="IP">127.0.0.1</attribute>
<attribute key="CCR_UUID" />
</userinformation>
</userinformationlist>
</response>
</content>
答案 0 :(得分:1)
这是一个使用DOM扩展名的示例,尤其是DOMXPath,而不是SimpleXML,因为我发现SimpleXML总体上不合适。
$dom = new DOMDocument();
$dom->loadXML($xmlstring);
$xpath = new DOMXPath($dom);
$name = $xpath->evaluate('string(//attribute[@key="USER_NAME"])');
$id = $xpath->evaluate('string(//attribute[@key="USER_ID"])');
$ip = $xpath->evaluate('string(//attribute[@key="IP"])');
echo "$name\t$id\t$ip\n";
Charles 88477299101 127.0.0.1