2011-11-18 169 views
3

是否有一種xpath方式來選擇給定的屬性值?xpath表達式來選擇屬性值

比如我有一個html文件,只想選擇「?MS = 669601」:

<input type="button" value="تفاصيل" onclick="xmlreqGET("?ms=669601","jm1x");"> 
+0

我發現#2東西simular: http://stackoverflow.com/questions/4720480/xpath-select-only-part-of-an-attribute –

回答

0

在您簡單的例子,你可以簡單地在僅input選擇onclick屬性的那部分:

substring(input/@onclick, 12, 10) 

在更復雜的文件,嘗試通過@value第一選擇(或一些其它(可能是唯一的)條件):

substring(//input[@value='تفاصيل']/@onclick, 12, 10) 

或者通過靶向包含所需子的一部分input

substring(//input[contains(@onclick, 'xmlreqGET(')]/@onclick, 12, 10) 

選擇input元素本身如果onclick屬性包含目標字符串:

//input[contains(@onclick, '?ms=669601')] 

注:你由於嵌套的雙引號,輸入不是有效的XML。

+0

感謝youuuuuu.this正常工作:子(//input [@ value ='تفاصيل']/@ onclick,12,10) – NouNou

+0

@ lwburk this select only one .in my code there is many 我如何選擇所有。 – NouNou

+0

@NouNou - 在這種情況下,您可能想要選擇具有該子字符串的所有元素(就像我上面的最後一個表達式一樣)。字符串函數將返回一個字符串。如果你想要多個字符串,那麼你需要從更高層次(即元素層次)來解決這個問題。 –