草庐IT

php - 在 php 中不区分大小写的 xpath 搜索

我有一个这样的xml文件:Here'sthefirstlinewithChicagoinit.Here'salinethattalksaboutAtlantaHere'salinethatsayschicagogo我正在尝试使用PHP进行简单的关键字搜索,查找单词并显示它所在的行。我有这个工作$xml=simplexml_load_file($data);$keyword=$_GET['keyword'];$kw=$xml->xpath("//line[contains(text(),'$keyword')]");...snip...echo$kw[0]."isthefirstretu

php - 使用 XPath 通过 namespace 进行选择

我一直在尝试在PHP中使用XPath从NationalHealthServiceAPI访问Atom提要。数据如下所示:NHSChoices-GPPracticesNearPostcode-W1T4LB-Within5kmhttp://v1.syndication.nhschoices.nhs.uk/organisations/gppractices/27369FitzroviaMedicalCentre2011-08-20T22:47:39ZFitzroviaMedicalCentre31FitzroySquareLondonW1T6EU02073875798182000529000-

PHP XPath 搜索返回 0 个结果

下面我有一个PHP脚本,我需要搜索XML文件并找到的ID.出于某种原因,目前它返回0个结果,我不知道为什么。如果有人能明白为什么它返回0个结果,如果他们能告诉我原因,我将不胜感激。XML:..................ABCDEFG123ABCDEFG124...PHP:load("directory1/directory2/file.xml");$xpathvar=newDOMXPath($xmldoc);$xpathvar->registerNamespace('transXchange','http://www.transxchange.org.uk/');$queryRe

php - 抓取一个网站,获取链接,用PHP和XPATH抓取链接

我想抓取整个网站,我已经阅读了几个主题,但我无法在第2级获取数据。也就是说,我可以从起始页返回链接,但是我找不到解析链接和获取每个链接内容的方法...我使用的代码是:loadHTML($html);//runxpathforthedom$xPath=newDOMXPath($dom);//getlinksfromstartingpage$elements=$xPath->query("//a/@href");foreach($elementsas$e){echo$e->nodeValue."";}//Parseeachpageusingtheextractedlinks??>有人能帮我

PHP:检查 XML 节点是否存在属性

我似乎无法弄清楚这一点。我有以下XML文件:我需要能够测试是否存在节点以给定名称存在。我似乎在Google上找到的所有内容都告诉我执行以下操作:$xdoc->getElementsByTagName('building')->item(0)->getAttributeNode('name')...但是如果我理解正确的话,那不是只测试第一个吗?节点?item(0)?我需要为此使用XQuery吗?我会很感激一些帮助!谢谢! 最佳答案 我建议如下(使用ext/simplexml和XPath的PHP):$name='ShinyRed';$x

php - 使用 XPATH 语法匹配文本

示例提要:查看源代码:http://rss.packetstormsecurity.org/files/tags/exploit/我只想返回父标题节点中包含匹配文本的xml部分,在此示例中,要匹配的文本是“site”。//getfeedwithcurl$doc=newSimpleXmlElement($xml,LIBXML_NOCDATA);//$result=$doc->xpath('//title');//thisworksreturnsallthe's$result=$doc->xpath('//title[site]');//doesn'twork$result=$doc->x

php - 使用 xpath 和 DOMDocument 检索元素

我在下面的html代码中有一个广告列表。我需要的是一个PHP循环来获取每个广告的以下元素:广告网址(标记的href属性)广告图片网址(标签的src属性)广告标题(标签的html内容)Ad#1Ad#2我设法用下面的PHP代码获取了广告URL。$d=newDOMDocument();$d->loadHTML($ads);//thevariable$adscontainstheHTMLcodeabove$xpath=newDOMXPath($d);$ls_ads=$xpath->query('//a');foreach($ls_adsas$ad){$ad_url=$ad->getAttrib

php - 如何使用 XPath 执行不区分大小写的搜索并支持非英文字符?

我正在使用以下代码在XML文件中执行搜索:$result=$xml->xpath("//StopPoint[contains(StopName,'$query')]");其中$query是搜索查询,StopName是公交车站的名称。问题是,它区分大小写。不仅如此,我还可以使用ÆØÅæøå等非英语字符进行搜索,以返回挪威语名称。这怎么可能? 最佳答案 在XPath1.0中(我相信这是您可以使用PHPSimpleXML获得的最佳版本),您必须使用translate()函数从混合生成全小写输出案例输入。为了方便起见,我会把它包装在这样一个

php - 使用 DOMDocument PHP 获取 Xpath 父节点?

我需要在php中获取特定节点的父节点。我正在使用DOMDocument和XPath。我的XML是这样的:138ParentCategory141CategorychildPHP代码:$dom=newDOMDocument();$dom->load("ProdCategories_small.xml");$xpath=newDOMXPath($dom);$nodes=$xpath->query('//ProdCategory/Id[.="141"]/parent::*')->item(0);print_r($nodes);打印出来的是:DOMElementObject([tagName]

php - 具有多个包含在不同元素上的 XPath

XPath表达式是否可以包含多个不同的元素值?XMLKerryPackerCrownKerryMurdochCaliforniaPHP$xml=simplexml_load_string($data);$elements=$xml->xpath("(//person)[firstname[contains(.,'Kerr')]]and[lastname[contains(.,'och')]]");当前上面的XPath表达式被标记为无效。但是,如果我将它与一个元素一起使用,$xml->xpath("(//person)[firstname[contains(.,'Kerr')]]");然