这可能很简单,但我有点卡住了。我想将XML字符串转换为PHP对象。我的XML字符串是:
$a = '<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
<VerifyTxnResponse xmlns="http://www.exmlplekhe.com/">
<VerifyTxnResult>BID <11467></VerifyTxnResult>
</VerifyTxnResponse>
</soap:Body>
</soap:Envelope>';
我尝试了var_dump(simplexml_load_string($a));
,但它返回了空SimpleXMLElement
个对象。我想获得VerifyTxnResult
节点。我认为,<11467>
导致了这个问题。可能的解决方案是什么?
感谢。
答案 0 :(得分:2)
我想获得
VerifyTxnResult
节点
simplexml_load_string
函数返回SimpleXMLElement
的实例,对于您发布的XML,该实例实际上不为空。
注册命名空间并使用xpath
方法获取节点:
$se = simplexml_load_string($a);
$se->registerXPathNamespace('r', 'http://www.nibl.com.np/');
foreach ($se->xpath('//r:VerifyTxnResult') as $result) {
var_dump((string)$result);
}
示例输出
string(11) "BID <11467>"