Php simplexml\u加载\u字符串返回空节点

Php simplexml\u加载\u字符串返回空节点,php,xml,simplexml,Php,Xml,Simplexml,可能重复: 我正在使用simplexml\u load\u string()解析xml字符串。它正确读取输入,但不返回任何数据,只返回空白节点 我的xml数据是: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <leads> <auth> <username>user</username> <password>user

可能重复:

我正在使用
simplexml\u load\u string()
解析xml字符串。它正确读取输入,但不返回任何数据,只返回空白节点

我的xml数据是:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<leads>
    <auth>
        <username>user</username>
        <password>user</password>
    </auth>
</leads>
当我试图打印结果时,我得到一个空白节点,如

<auth>
    </username>
    </password>
</auth>

您需要使用返回XML,否则它将返回根节点的值,该值为空,因此为空字符串

所以一切都很好

此外,作为预先警告,请执行正确的返回值检查:

$obj = simplexml_load_string($xml)
if ($obj === FALSE) {
    throw new Exception('Failed to load XML string.');
}
我希望这会对你有所帮助,并对你的问题有所启发。

我找到了解决办法

$username = (string) $xmlObj->auth->username;

我只是放了“(string)”

如果你真的提供了代码,那么你的问题可能会变得更清楚,这样你就可以清楚地知道你是如何使用这个函数的。此外,您还没有提供任何信息,说明您的预期输出是什么,因此您的问题很容易被误读,因为您提供的输出将是原始文档。原始XML字符串在哪里?我这样问是因为在你更新了你的问题之后,它可能有问题。你能提供一些样品吗?或者你是在一字不差地使用这个样本?因为有了这些数据,它对我来说是有效的:-注意:必须以这种方式检查字符串加载成功,否则会遇到问题:
if(false=$xmlObj){
-这可能是您的问题?我正在将上面的xml示例xml作为Web服务响应,并且我正在尝试解析此响应。我可以说,对于您提供的数据,这是有效的。您可能希望共享更多代码,因为您必须提供的信息不清楚您的实际问题。这使得你的问题毫无用处,因为它不清楚你问什么。你可能想提供。
$username = (string) $xmlObj->auth->username;