【发布时间】:2013-08-30 13:48:12
【问题描述】:
我正在尝试解析“不那么正常”的 XML Web 服务。看起来 Web 服务正在返回一个字符串,该字符串中包含 XML。
XML 如下所示:
<string>
<NewDataSet>
<Table>
<CATID>0</CATID>
<DEPID>0</DEPID>
</Table>
<Table>
<CATID>1</CATID>
<DEPID>1</DEPID>
</Table>
</NewDataSet>
<string>
这是我现在的代码,我已经尝试了许多变体,但没有任何效果。大多数时候它什么都不返回。我已经回显了 $xml,它将返回所有 XML,但我只需要显示 CATID 即可。
<?php
$file = file_get_contents('http://theWebSericeLink.here');
$xml = simplexml_load_string($file);
//echo $xml;
foreach($xml->Table as $item) {
echo $item->CATID;
}
?>
我也试过了:
foreach($xml->NewDataSet->Table as $item)
和
foreach($xml->String->NewDataSet->Table as $item)
提前致谢。
【问题讨论】:
-
最后一个结束标签(字符串)写错了(没有 /)。源码中是否存在这个错误?
-
@Will Irvine 你在检查我的答案吗
-
抱歉,这是我的错字。来源确实有结束标签。
-
顺便说一句
simplexml_load_file会直接加载该 XML 文件 (URL)。
标签: php xml web-services