導航:首頁 > 凈水問答 > xpath過濾node

xpath過濾node

發布時間:2021-02-02 21:11:48

① Selenium中關於XPath中節點後面[1]的詭異問題

//a[contains(@id,'abc')][2]

這個2代表你要找到 A 在家中排行老二. 而不是所專有家庭合起來的第二個.

比如說屬
<span><a>老大</a><a>老二</a></span>
<span><a>老大</a><a>老二</a></span>

用 //span/a[2]

會把兩個老二都找出來.

如果是這樣的

<span><a>老大</a></span>
<span><a>老大</a></span>
<span><a>老大</a></span>
<span><a>老大</a></span>
<span><a>老大</a></span>

用這個xpath 就會找不到東西, 因為都是獨生子女.

你要選中第二個老大, xpath 要這樣寫

(//span/a)[2]

這個方式在很多地方有效, 但在Selenium 中好像無效.

② 如何在node中使用xpath-quntin-ITPUB博客

在實用數據綁定 系列文章中討論 XPath,原因就在於這些選擇都使用邏輯名(請參閱 突出的邏輯性)。比方說,不必選擇根元素第二個子元素的第一個屬性,可以使用 XPath 表達式 /cds/cd[@title=′August and Everything After′]。從一定意義上說,這就是 數據綁定,因為可以使用 XML 標記而不是結構來訪問數據。
本文主要討論使用 XPath 作為通過邏輯名從 XML 中訪問數據的方法,如 cd、table 或 person,而不用 firstElement 或 parent.getChildren(2)。最終得到的代碼非常類似於數據綁定,使用邏輯名而非語義名,但是又沒有傳統數據綁定解決方案的初始類生成和類路徑問題。
節點知識
第 1 部分 中提到,XPath 選擇總是返回一個節點 集。和其他任何集合一樣,其中可能有零個、一個或多個成員。這里重要的概念是節點。節點可以是一段文本(比如元素的內容)、一個元素、一條處理指令或者注釋。當然,節點集就是這類事物的任意組合。
如果您是一位 DOM 程序員,就不會被節點這個概念難倒。DOM 根據其 Node 介面看待一切事物,因此您也就習慣於通過 Node 介面來處理注釋、元素和文本數據。如果不習慣 DOM,應該花點兒時間來熟悉節點。節點對於使用 XPath 至關重要。執行 XPath 表達式時,對表達式結果進行操作的代碼必須對節點操作,而不深究 XML 語義。文檔內的導航是用 XPath 表達式進行的,而不是使用 DOM 樹轉移方法從一個子節點移動到另一個。

回頁首

JAXP 和 XPath 基礎
Java 編程語言的最新版本 Java 5.0 中,對 Java API for XML Processing(JAXP)和 XPath 的支持已成為標准。您可能已經熟悉 JAXP 以及 SAX、DOM 和 XSL 編程中使用的 javax.xml.parsers 和 javax.xml.transform 包。(如果不熟悉的話,請參閱本文後面列出的一些 參考資料。)對 XPath 的支持主要來自於一個新的包 javax.xml.xpath。
檢查 JAXP 和 Java 版本
JAXP 1.3 包含在所有的 Java 5.0 下載包中。為了確保安裝了 JAXP 1.3,請在命令提示符下輸入以下命令:

java -version

應該看到類似於 清單 1 所示的結果。

清單 1. 命令行提示符下的 Java 5.0

java version "1.5.0_02"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_02-56)
Java HotSpot(TM) Client VM (build 1.5.0_02-36, mixed mode, sharing)

如果版本是 1.5 或更高,則已經有了 JAXP 1.3,可以確信您有了本文中使用的 XPath API。
簡單的 XML
還需要一些供操作的 XML。本文中所有的例子都將使用 清單 2 中所示的簡單 XML 文檔。這個文檔並不復雜,但是足以說明 90% 的 XPath 編程中所需要的各種 XPath 函數。

③ 如何用xpath定位符合多個屬性條件的節點集

Books/book[@author='John' and @year='2009' and @language='En']

④ xpath怎麼樣對元素名過濾,尤其是邏輯為非的情況

|直

元素種類不多,用|直接選取節點集:

<xsl:for-eachselect="cc|ee">

</xsl:for-each>

否則專試試判斷表達式屬:

<xsl:for-eachselect="child::*">
<xsl:iftest="not(bb)">

</xsl:if>
</xsl:for-each>

⑤ 怎麼用xpath提取以下xml的節點

獲取到節點對象後,應該有方法獲取屬性的,
你用contextNode變數,應該有getAttribute方法,內
輸入屬性名即可另外有容篇文章你可以看看
http://www.ibm.com/developerworks/cn/xml/x-javaxpathapi.html

⑥ ie中js操作xpath,selectNodes提示未識別

IE的版本是多少
用Ajax請求返回的xml , 一般瀏覽器都能用
responseXML.documentElement.selectNodes("XXX")
去檢索需要的節點,但是IE升級到10之後,突然報錯 :
該對象不支持selectNodes()屬性或者方法!
郁悶了挺長時間,試了很多方法都不行。我發現技術菜的時候,網上搜索信息的能力也很差,網上找了好久方法,終於在高手的幫助下解決了。
發送Ajax請求之前,加一句:
xmlHttp.open(....);
try{
xmlHttp.responseType("msxml-document");
}catch(e){
}
xmlHttp.send(null);
問題解決,可以正常使用 selectNodes()方法了,selectSingleNode()方法應該也可以使用了!
原來selectNodes()方法是依賴於 msxml 的,在IE8,9的時候,瀏覽器處理了返回的XML格式的doucment , 使之變為 msxml-document ,正常使用 selectNode() 方法沒有問題。但是IE10去掉了這一處理,返回原生的 XML , 所以需要我們自己手動設置成 msxml 。

⑦ c# 中xpath語法 如何獲得元素Node下的所有子元素和孫元素叫item的。 其他地方也有叫item的元素 ,但不能取

XmlElement theNode = null;

XmlElement root = null;

XmlDocument document = new XmlDocument();

document.Load(@源"你的xml位置.xml");
root = document.DocumentElement;
theNode=(XmlElement)root.SelectSingleNode("位置/Node);

string name= theNode.GetElementsByTagName("item").Item(0).InnerText;

⑧ 如何用xpath定位到batNo

這種xml只是帶了命名空間,解析出來就行。
解決辦法如下,中文部分你自己替換下你的xml對應回的字答符串:

InputStream is=loader.getResourceAsStream("你的xml地址");
Document doc= Dom4jUtil.loadXml(is);
HashMap nsMap=new HashMap();
nsMap.put("soap","第一個網址貼在這里");
nsMap.put("ns2","第二個網址貼在這里");
XPath xpath=doc.createXPath("/soap:Envelope/soap:Body/ns2:processResponse/response");
xpath.setNamespaceURIs(nsMap);
Node node= xpath.selectSingleNode(doc);
然後就可以正常取值了。

⑨ 求一個Xpath語句,選取特定值的節點

String type = "EEE"
File file = new File(strxml);
SAXReader reader = new SAXReader();
Document doc = reader.read(file);
List<Node> node = doc.selectNodes("//root[數據名='" + type + "']");
system.out.println(node.get(0).getText());

⑩ xpath 路徑表達式。node()和*的區別

你好!
*
匹配任何元素節點。
@*
匹配任何屬性節點。
node()
匹配任何類型的節點
例子:
/bookstore/*
選取內
bookstore
元素的所有子元素。
//*
選取文容檔中的所有元素。
//title[@*]
選取所有帶有屬性的
title
元素。
希望對你有所幫助,望採納。

閱讀全文

與xpath過濾node相關的資料

熱點內容
大流量袋式過濾器生產基地 瀏覽:995
反滲透什麼情況下爆破膜爆破 瀏覽:37
國家生物污水排放標准 瀏覽:355
污水廠工程工藝流程 瀏覽:918
破碎錘帶回油濾芯干什麼用 瀏覽:541
金正立式飲水機怎麼清洗 瀏覽:548
java過濾換行符 瀏覽:199
飲水機裡面放出來的水特別臟怎麼辦 瀏覽:924
純水機拍出來的廢水 瀏覽:929
污水處理廠三年規劃目標 瀏覽:630
回收二手過濾機 瀏覽:155
大車濾芯怎麼賣 瀏覽:472
半透膜蔗糖和葡萄糖液面變化 瀏覽:1000
青島市生活污水氨氮吹脫塔哪裡有 瀏覽:775
用過的君子蘭土能否回用 瀏覽:417
機油濾芯可以用什麼代替 瀏覽:634
如何拆鴻芯直飲凈水器 瀏覽:398
自製蒸餾葡萄酒 瀏覽:741
酚醛樹脂專用丁腈橡膠 瀏覽:852
超濾管3k與10k的區別 瀏覽:870