我目前正在开展一个让我使用XML的项目。我必须采取XML响应并解密每个文本节点,然后使用数据执行各种任务。我遇到的问题是采取响应并处理每个文本节点。最初我使用的是XMLToArray库,并且工作正常,我会将XML更改为数组,然后遍历数组并解密值。但是我正在处理的一些XML响应有重复的标记,而XMLToArray库只返回最后的值。
有没有一种好方法可以获取XML响应并处理所有文本节点,并轻松将值放入与响应具有相似结构的数组中?
提前致谢。
答案 0 :(得分:4)
我会使用SimpleXML。
这是一个使用它的小例子。它从http://www.w3schools.com/xml/plant_catalog.xml加载并解析XML,然后输出每个“PLANT”标记的“COMMON”和“PRICE”标记的值。
$xml = simplexml_load_file('http://www.w3schools.com/xml/plant_catalog.xml');
foreach ( $xml->PLANT as $plantNode ) {
echo $plantNode->COMMON, ' - ', $plantNode->PRICE, "\n";
}
如果您在根据需要进行调整时遇到任何问题,请举例说明您的XML,以便我们为您提供帮助。
答案 1 :(得分:1)
所有那些 XML to array 库仍然是PHP 4迫使您几乎从头开始编写自己的XML解析器的时代。在最近的PHP版本中,您有一组很好的XML库来完成这项艰苦的工作。我特别推荐SimpleXML(对于小文件)和XMLReader(对于大文件)。如果您仍然发现它们很复杂,可以尝试phpQuery。
答案 2 :(得分:0)
您可能想尝试SimpleXML。此外,它默认在PHP中,所以你不需要安装
答案 3 :(得分:0)
查看SimpleXML,它可能会为您所寻找的内容提供更多信息。