php - 使用 PHP 的 SimpleXMLElement 类查找指定元素的最佳方法是什么?

标签 php python xml get

我目前正在进行的项目涉及将用 Python 编写的网站转换为 PHP 代码。我现在正在做的部分要求我向网络服务器发送 $_GET 请求。我收到的响应始终采用 XML 格式,因此我使用 *simplexml_load_file()* 函数来获取结果。

我需要解析 Web 服务器发回给我的 XML。 Python 有一个很好的库,名为 BeautifulStoneSoup,它有一个 find() 方法,可以返回指定属性的内容。

查看 http://php.net/manual/en/book.simplexml.php 处的 PHP 函数列表后,我似乎找不到任何允许我指定属性名称并获取内容的东西。请记住,我可能要查找的属性不一定总是位于 XML 数组深处的一层。它可能是数组的几个维度。

如果这还不够具体,我可以提供一个例子。感谢 friend 们的帮助!

最佳答案

Xpath 听起来像是您正在寻找的。它允许在 XML 目录的任何级别内进行搜索。

以下示例使用 xml 目录进行多层深度检查,并检查描述节点是否包含 $txtSearch 中保存的内容

$holidayDoc = simplexml_load_file($url);    
$qry = "//channel/item[description[contains(text(),\"$txtSearch\")]]";
$holidayDoc->xpath($qry);

然后可以使用 foreach 循环迭代结果

关于php - 使用 PHP 的 SimpleXMLElement 类查找指定元素的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10524370/

相关文章:

php - 在 PHP 中获取给定月份的第一天?

php - Doctrine 可指责的扩展 'on change' 不起作用

python - 检查 numpy 数组中的所有元素是否与数字匹配

jquery - XML > jQuery 读取

c# - 如何解析 XML 数据以检索子节点值?

javascript - Chrome 浏览器 AJAX 异步问题 : false

php - 为什么这个简单的 "INSERT INTO"查询不起作用

python - Qmessagebox背景和文字颜色

python - 使用 pygame 在 python 中移动屏幕中的对象时遇到问题

c# - 在 C# 中返回没有后代的 XElement