我使用simplexml_load_string()
来解析xml字符串。它正确读取输入,但不返回任何数据只有空白节点。
我的xml数据是:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<leads>
<auth>
<username>user</username>
<password>user</password>
</auth>
</leads>
功能是:
$xmlObj = simplexml_load_string($xml);
if ($xmlObj) {
echo "Failed loading XML\n";
foreach(libxml_get_errors() as $error) {
echo "\t", $error->message;
}
}
else{
print_r($xmlObj);
}
当我尝试打印结果时,我得到一个空白的节点,如
<auth>
</username>
</password>
</auth>
答案 0 :(得分:2)
我得到了解决方案
$username = (string) $xmlObj->auth->username;
我只是把“(字符串)”
答案 1 :(得分:0)
您需要使用SimpleXMLElement::asXML()
methodDocs来获取XML,否则它将返回空节点的根节点的值,因此为空字符串。
所以这一切都很好,花花公子。
此外,作为预防措施,请进行正确的退货值检查:
$obj = simplexml_load_string($xml)
if ($obj === FALSE) {
throw new Exception('Failed to load XML string.');
}
我希望这有助于解决您的问题。