2013-11-04 59 views
1

我嘗試使用,我想無論是表達工作或操作者。XPath或經營者不看

表達工作個人卻不能在一起,你可以幫助請參閱下面

//*[[@class='eline'][1]/following-sibling::tr] OR [[@class='eline'][1]] 

嗨,

這是給你一個更好的例子,下面讓我很高興與你的第一個解決方案,因爲這選擇的一切但後來想選擇其中ALT =「AB」作爲該元件的位置可能會改變,所以我希望的xpath爲動態儘可能元件

<tr class="eline"> 
<tr> 
<td class="norm" nowrap=""/> 
<td class="norm" nowrap=""> 
<td class="norm" nowrap=""> 
<td class="norm" nowrap="">cccc cccc </td> 
<td class="norm" nowrap="">99999 </td> 
<td class="norm" nowrap=""/> 
<td> 
<td class="norm" nowrap=""> 
<img width="20" vspace="0" border="0" hspace="0" height="15" alt="Ab" name="abs3" src="images/sp_abs.gif"/> 
</td> 
<td class="norm" nowrap=""> 
<td class="norm" nowrap="">testcase33 testcase33 </td> 
<td class="norm" nowrap="">33100 </td> 
<td class="norm" nowrap=""/> 
<td class="norm" nowrap=""/> 
</tr> 
<tr class="eline"> 
<tr> 
<tr class="eline"> 
<tr> 
<tr> 
+4

這看起來不像一個有效的XP對我來說。你能編輯這個問題來包含一些示例XML並準確地解釋你想選擇哪些節點嗎? –

回答

1

I 認爲你正試圖選擇:

  • 的第一個元素與class屬性eline
  • 以下所有同級tr元素

最簡單的方法就是給沒有工作的兩個選擇相結合使用union |操作:

//*[@class='eline'][1]/following-sibling::tr | //*[@class='eline'][1] 

例如,與該XML:

<table> 
    <tr name="first"/> 
    <tr class="eline" /> 
    <tr name="third"/> 
    <tr name="fourth"/> 
</table> 

以上的XPath會給

<tr class="eline"/> 
<tr name="third"/> 
<tr name="fourth"/> 

假設你想從上面的代碼中選擇的元素中找到一個元素img[@alt="Ab"],你可以這樣做這樣的事情:

(//*[@class='eline'][1]/following-sibling::tr | //*[@class='eline'][1]) // img[@alt="Ab"] 
+0

哇,這是完美的,感謝這麼多,爲什麼我從來沒有聽說過這已經超出了我,但你又得到了這一切在one--良好的開端我週一 – user1156718

+0

您好,我現在需要選擇這個選擇在一定的屬性,是怎麼這完成了。這是我試過的// * [@ class ='eline'] [1]/following-sibling :: tr | // * [@類= 'ELINE'] [1] AND [@ ALT = 「AB」] – user1156718

+0

@ user1156718像'(// * [@類= 'ELINE'] [1] /以下同胞:: TR | // * [@類=「ELINE」] [1])[@ ALT =「AB」]' – lonesomeday