簡體   English   中英

DomXPath選擇

[英]DomXPath Selecting

我在選擇所需的DomXPath時遇到問題。 我有一個像

<div id="a">
  Something
    <nobr> Inside </nobr>
</div>

我想要的是僅選擇“某物”而不是“內部”。 我知道如何像//div[@id='a']一樣同時選擇'Inside'或它們兩者,然后調用$obj->nodeValue ,但是我找不到唯一選擇'東西。 有人可以幫我嗎? 謝謝。

編輯:如果將Something更改為Something 123456,您還可以提示我如何僅選擇數字值作為123456作為獎勵嗎?

在xpath的文本節點內定位數字非常繁瑣。 相反,您可以在PHP中使用正則表達式來解析textnode的文本以獲得值:

$doc = new DomDocument;
$doc->loadXML($xml);
$xpath = new DOMXPath($doc);
$text = $xpath->query("/div[@id='a']/child::text()")->item(0)->nodeValue;
$r = preg_match('~\d+~', $text, $matches);
list($number) = $matches;

演示版

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM