【发布时间】:2012-12-25 16:17:23
【问题描述】:
我正在使用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>
【问题讨论】:
-
如果您实际提供代码,您的问题可能会变得更加清晰,这样您就可以清楚地了解如何使用相关功能。此外,您还没有提供任何信息,您的预期输出是什么,因此您的问题很容易被误读,因为您提供的输出将是原始文档。
-
原始 XML 字符串在哪里?我问是因为在您更新了问题之后,它可能存在问题。你能提供一些样品吗?或者您是否逐字使用该示例?因为有了这些数据,它对我有用:eval.in/5334 - 小心: 你必须以这种方式检查字符串加载是否成功,否则你会遇到问题:
if (false === $xmlObj) {- 也许这就是你的问题? -
我将上面的 xml 示例 xml 作为 web 服务响应,我正在尝试解析此响应
-
我只能说你所获得的数据,只要这个工作有效。您可能希望共享更多代码,因为您必须提供的信息并不清楚您的实际问题是什么。这使您的问题毫无用处,因为不清楚您要问什么。你可能想提供a hexdump of your XML string。