2

我目前正在进行的项目涉及将一个用 Python 编写的网站翻译成 PHP 代码。我现在正在做的部分需要我向 Web 服务器发送 $_GET 请求。我得到的响应总是 XML 格式,所以我使用 *simplexml_load_file()* 函数来获取结果。

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

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

如果这不够具体,我可以提供一个例子。谢谢朋友的帮助!

4

2 回答 2

3

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

以下示例使用 xml 目录查看多个级别,并检查描述节点是否包含其中包含的任何内容$txtSearch

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

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

于 2012-05-09T21:33:31.623 回答
0

您可以运行 XPath 查询:

$xml->xpath('//@myattribute')
于 2012-05-09T21:35:00.097 回答