草庐IT

php - 获取一级子节点的XPath

使用DOMXPath::query是否有可能只获得一层深度的子节点?例如,如果我有这样的文档:我希望NodeList只包含跨度而不包含引用。还应该提到它不会总是相同的元素(divs、span等)。我需要它来处理任何类型的元素。这是我试过的,但似乎没有用://*[not(ancestor::div)] 最佳答案 如果你使用/div/*然后您将获得该元素中所有直接子元素的列表,但这些子元素包含它们的子元素。我认为你不能删除child的child使用默认轴,称为child::。该轴只返回当前节点下1层的元素*匹配所有元素,但既不匹配属性也

php - 获取兄弟/姐妹节点的值

假设我在一个页面上重复了很多这样的内容:Magic:EditDelete但是h4的nodeValue没有重复。如何根据h4标签的nodeValue获取a的nodeValue?获取h4的姐妹a节点的内容,其中h4内容为Magic:. 最佳答案 使用这个XPath://div/h4[.='Magic:']/following-sibling::a[1]它选择h4的1st后续兄弟a元素,值为Magic:。 关于php-获取兄弟/姐妹节点的值,我们在StackOverflow上找到一个类似的问题

php - 使用 PHP 进行 Xpath 查询(取两个值)

这是我正在使用的XML代码:SuperLemonade$2.5020LemonadePlus$3.0020Poppys$1.5010然后我写了一个简单的代码来练习使用XPath:load('sample.xml');$xpathvar=newDomxpath($xmldoc);$queryResult=$xpathvar->query('//lemonade/price');foreach($queryResultas$result){echo$result->textContent;}?>该代码运行良好,按预期输出所有柠檬水价格值。现在我需要一个XPATH来获取所有数量为20的项目的

Php cURL 网页抓取

我想从网站url中抓取手机的价格:http://www.flipkart.com/apple-iphone-5s/p/itmdv6f75dyxhmt4?pid=MOBDPPZZDX8WSPAT如果查看代码,价格放在下面的SPANRs.37,500//FetchthispriceSellingPrice到目前为止,我获取它的代码是:loadHTML($curl);libxml_clear_errors();//removeerrorsforyuckyhtml$pokemon_xpath=newDOMXPath($pokemon_doc);//getalltheh2'swithanid$p

php - 来自 $_GET 的数字未使用 php 读入 simplexml xpath 查询

这有效:1$number=2;2$allofit=simplexml_load_file("thexmlfile.xml");3$thebook=$allofit->booklist[$number]->abook;4echo$thebook;以下内容无效:但是如果我想从我设置的GET方法中读取$number6$number=$_GET[thenumber];//$number=2fromtheform//7echo$number;//andproperlyshows$number=2--*/8$allofit=simplexml_load_file("thexmlfile.xml")

php - 为什么 xpath 会删除 html 特殊字符?

为什么会这样$html='whatisgoingonhere';$dom=newDOMDocument();$dom->loadhtml($html);$xpath=newDOMXPath($dom);$selectors['link']='//a/@href';$links_nodeList=$xpath->query($selectors['link']);foreach($links_nodeListas$link){$links[]=$link->nodeValue;}echo("links");echo("");print_r($links);echo("");输出links

php - 如何使用单个 DOMXpath 表达式选择 DOMDocument 的所有节点?

选择文档所有节点的xpath表达式是什么?给定这个示例XML:我包含三个节点:(元素),class=(属性)和"header"(文本)。$doc=newDOMDocument;$doc->loadXml('');$xpath=newDOMXPath($doc);我试过//node():$xpath->query('//node()');仅返回所有元素节点(我假设是因为//)。有没有办法在属性值中添加其他节点,如属性和文本节点?附加示例:我可以使用DOMDocument获取每个节点API,例如获取属性值的文本节点:$doc=newDOMDocument;$doc->loadXml('')

php - 从 xpath 查询中排除节点

这是我目前正在使用的一些代码。我需要帮助的地方是$bn_name_search和$bn_id_search$xpath_base='/ItemSearchResponse/Items/Item[';for($i=1;$ixpath($bn_name_search);$bn_ids=$parsed->xpath($bn_id_search);}这为我提供了所有浏览节点名称和所有浏览节点ID。我现在想做的是仅查找不是“所有产品”的浏览节点名称“BrowseNode/Name/”,并且仅查找浏览节点ID“BrowseNode/BrowseNodeId/"共享名称不是“所有产品”的“Brows

PHP xpath从特定ID的网页中提取值

我需要一些xpath方面的帮助,才能从html页面中提取值$283。这是我的PHP$html=file_get_contents("https://test.com/testpage.php");$html=tidy_repair_string($html);$doc=newDomDocument();$doc->loadHtml($html);$xpath=newDomXPath($doc);$avg=$xpath->evaluate('string(//*[@id="Average"]/@value)');echo$avg;这是HTMLAvg$283提前致谢。

php - Xpath选择注释代码

我有这个xpath查询:descendant-or-self::link和这段html代码:Pageetc...我需要向这个查询添加什么才能使其也匹配评论的.这是这个问题的延续:PHPDomDocumentalterconditionalcomments 最佳答案 在XPath1.0中,使用适当的XHTML:/xhtml:html/xhtml:head/xhtml:link|/xhtml:html/xhtml:head/comment()[contains(.,'link')]使用不处理namespace的DOM提供程序:/html