我目前正在开展的项目涉及将用Python编写的网站翻译成PHP代码。我现在正在做的部分要求我将$ _GET请求发送到Web服务器。我得到的响应总是以XML格式,所以我使用* simplexml_load_file()*函数来获取结果。
我需要解析Web服务器发回给我的XML。 Python有一个很好的库,名为BeautifulStoneSoup,它有一个 find()方法,它返回指定属性的内容。
在http://php.net/manual/en/book.simplexml.php查看PHP函数列表后,我似乎无法找到允许我指定属性名称并获取内容的任何内容。请记住,我可能正在寻找的属性不一定总是深入XML数组的一个级别。它可能是数组中的几个维度。
如果这不够具体,我可以提供一个例子。谢谢你的帮助,朋友们!
答案 0 :(得分:3)
Xpath听起来像你在寻找的东西。它允许在XML目录的任何级别进行搜索。
以下示例使用xml目录深入查看多个级别,并检查描述节点是否包含$txtSearch
$holidayDoc = simplexml_load_file($url);
$qry = "//channel/item[description[contains(text(),\"$txtSearch\")]]";
$holidayDoc->xpath($qry);
然后可以使用foreach循环
迭代结果答案 1 :(得分:0)
您可以运行XPath查询:
$xml->xpath('//@myattribute')