草庐IT

PHP - DOMXpath - 获取结果

当我想用XPath打印计算表达式的结果时出现错误。$url=$xpath->evaluate('//a/@href',$event);回显$url;我有这个错误:可捕获的fatalerror:类DOMNodeList的对象无法转换为字符串我的代码:loadHTML($source);//DOMXPathCreation$xpath=newDOMXPath($doc);//Getallevents$events=$xpath->query('//li[@class="nom"]');//Countnumberofeventsprintf('Thereis%devents',$events

php - 如何通过xpath从网站获取标题?

我正在玩xpath,但不知道如何使用xpath从网站获取标题,这是我的代码,但我不知道下一步要做什么...$dom=newDOMDocument();$dom->loadHTMLFile("http://www.cool.de");$x=newDOMXPath($dom);$result=$x->query("//TITLE");//...???而print_r($result)只显示“对象”,是否有类似print_r的函数来查看对象内部的内容,这样我就不必猜测了? 最佳答案 $resultisaDOMNodeListecho$re

php - 如何提取html注释和node包含的所有html?

我正在创建一个小网络应用程序来帮助我管理和分析我网站的内容,而cURL是我最喜欢的新玩具。我已经想出了如何提取有关各种元素的信息,如何找到具有特定类的所有元素等,但我遇到了两个问题(见下文)。我希望有一些漂亮的xpath答案,但如果我必须求助于正则表达式,我想那没关系。虽然我对正则表达式不是很好,所以如果你认为这是要走的路,我会很感激例子......非常标准的起点:$ch=curl_init();curl_setopt($ch,CURLOPT_USERAGENT,$userAgent);curl_setopt($ch,CURLOPT_URL,$target_url);curl_seto

php - xPath 只找到 *

这让我很生气。我有这个XML代码:更新了正确的命名空间...Open.................................1No............还有这段PHP代码:xpath("//ID"));?>我只转储了$newXML并获得了大量数据,但我运行的唯一xPath返回除了空数组之外的任何东西是“*”“//ID”不是应该找到文档中的所有ID节点吗?为什么它不起作用?谢谢 最佳答案 您的XML文档的根元素似乎具有URI为“http://www.movielabs.com/ACNS”的默认命名空间。这意味着文档中的所有

php - foreach循环内的xpath重复相同的结果

我使用下面的代码解析一个XML文件,没问题:foreach($xml->productas$products){$title=$products->name;etcetc但是,由于XML的结构,我必须在我需要确保它返回正确数据的节点之一上使用xpath$actors=$xml->xpath("//property[name[.='Actors']]/value");$actor=$actors[0];这很好用,但它总是返回XML文件的第一条记录,我需要它来跟上循环,如果这有意义的话。我尝试了以下但同样的事情发生了:$actors=$products->xpath("//property

PHP SIMPLEXML XPATH 匹配具有相同子字符串的多个标签

我正在做一个简单的脚本,它将XML作为输入,修改一些值,并用另一个名称保存它。XML有多个命名空间,通常是嵌套的。我正在尝试为以下问题找到一个聪明的解决方案。我有多个具有共同子字符串的标签,例如EpisodeTestTestTest我想访问每个匹配“Episode”的标签并修改值。相关的XML片段:TestTestTest我尝试执行的所有xpath都失败了。如果我执行下面的行,我将获取99%的XML,而我只需要标题下的所有内容。$results=$xml->xpath('//*[contains(E:LocalizableTitleExt,Episode)]');foreach($re

PHP XML 内存泄漏?

我们的一个定期运行的脚本存在严重的内存泄漏,该脚本会迅速耗尽服务器上的可用内存。尽管进行了许多小时的研究和实验,但我什至无法对它产生任何影响。代码如下:echo'1:'.memory_get_usage()."\n";ini_set('memory_limit','1G');echo'2:'.memory_get_usage()."\n";$oXML=newDOMDocument();echo'3:'.memory_get_usage()."\n";$oXML->load('feed.xml');#556MBfileecho'4:'.memory_get_usage()."\n";$x

php - XPath 不匹配没有 namespace 作为前缀的属性

目前我正在尝试通过PHP的SimpleXML读取Firefox扩展的不同install.rdf文件。不幸的是,它们的外观没有预定义的结构。他们总是使用两个命名空间,“http://www.w3.org/1999/02/22-rdf-syntax-ns#”和“http://www.mozilla.org/2004/em-rdf#”。所以我的想法是使用XPath来获取感兴趣的元素:$xml=simplexml_load_string($installRDF);$namespaces=$xml->getNameSpaces(true);$xml->registerXPathNamespace

php - 如何编写用于从以下示例中选择表格的 Xpath + 可用的良好 Xpath 备忘单?

需要一些关于Xpath的说明。就HTML而言,我有以下几行内容。我如何用图像提取第一段之后的表格?LabelTextTextTextTextText.显然我想看看如何为此编写xpath,但是我还想通过某种缩写列表/备忘单了解我的选项,其中包含xpath存在的选项。我正在考虑使用类似这样的东西://table[preceding-sibling::p[contains(align(),"center")或者可能允许我说一个以img为中心的p,但是我只是不确定去哪里获得一个很好的综合列表与一个解释所有血腥细节的实际文章。 最佳答案 使用

php - XPath - 选择特定标签后的所有内容

我试图将h1标记之后的HTML放入字符串中,直到下一个h1标记,然后继续。例如,这是HTML:HeadingParagraphListitemListitemParagraphHeading2ListitemListitemParagraph然后我尝试创建这个数组:array(0=>'ParagraphListitemListitemParagraph',1=>'ListitemListitemParagraph')选择h1标记之后直到下一个标记的所有内容的XPath查询是什么?如有任何帮助或建议,我们将不胜感激。更新:我最终想要实现的是,使用PHP,创建这种格式的数组:array('