我想测试ErrorCode&的值。 ErrorMessage节点。
$x = '<exe:API_Error xmlns:exe="http://xxxxx.uk/APIResults">
<exe:ErrorCode>ERRORS FOUND</exe:ErrorCode>
<exe:AdditionalInfo1/>
<exe:AdditionalInfo2>1-SX-A-J7A-000-USX00-SSX06-A203</exe:AdditionalInfo2>
<exe:ErrorMessage>Errors:[Account is not 22, 20, 19, or 9 in length.]
</exe:ErrorMessage>
</exe:API_Error>';
$xml = new SimpleXMLElement($x);
$xml2 = simplexml_load_string($x);
var_dump($xml);
var_dump($xml2);
我的输出是
object(SimpleXMLElement)[1]
object(SimpleXMLElement)[3]
但是我加载了XML,var_dump只显示我有一个SimpleXMLElement对象。我似乎无法访问该对象的任何属性。
var_dump($xml->API_Error);
var_dump($xml2->API_Error);
返回
object(SimpleXMLElement)[3]
object(SimpleXMLElement)[3]
我使用的是PHP 5.6
答案 0 :(得分:0)
对于遇到此问题的任何人,答案都涉及使用xpath。
$xml = new SimpleXMLElement($x);
foreach($xml->xpath('//exe:API_Error') as $e) {
echo $e->xpath('//exe:AdditionalInfo2')[0];
}
输出:
1-SX-A-J7A-000-USX00-SSX06-A203