【发布时间】:2019-10-18 18:26:59
【问题描述】:
我正在创建 XML 解析器,我需要获取元素的值,但我不能。
$dataURL = "<item internal-id='187'>Test</item>";
$xml = simplexml_load_string($dataURL, "SimpleXMLElement", LIBXML_NOCDATA);
$json = json_encode($xml);
print_r($json);
die();
返回我:
{"@attributes":{"internal-id":"187"},"0":"Test"}
但是
$dataURL = "<item internal-id='187'><room value='187'>Test2</room></item>";
$xml = simplexml_load_string($dataURL, "SimpleXMLElement", LIBXML_NOCDATA);
$json = json_encode($xml);
print_r($json);
die();
还给我
{"@attributes":{"internal-id":"187"},"room":"Test2"}
我希望看到所有 XML 元素的价值,但我仍然没有得到它们。
【问题讨论】:
-
不确定您的期望,但根本不需要转换为 json(然后再返回)。在您的示例中,您可以使用
echo "value=".(string)$xml.", id=".$xml['internal-id'];查看值,但不确定您期望或尝试做什么。