[第一個複雜情況是從解引用URI返回的數據流實際上不是XML;它有幾千個格式錯誤(URI中的非轉義&符號,非轉義符號和腳本中的小於號,一些嵌入式HTML和一些其他錯誤)。既然你不報告從該問題,但是,我假設服務器和XPath表達式有人做一些整理之間的某處。]
我想如果你使用id
你會得到更好的結果和class
在文檔中廣泛使用的屬性。你需要的材料在源代碼中看起來像這樣(你可以使用任何基於瀏覽器的調試工具來找到它;我在Safari中使用了'Web Inspector');我縮進以使結構更加可見,並在a
元素之一中修正了一些格式錯誤(缺少屬性值對之間的空白)。
<div class="zc-tn" id="zc-tn-top">
<div class="zc-tn-i">
<a href="ZCGrid.do?fromTimeInMillis=1355781600000"
class="zc-tn-l"
title="Move the grid three hours earlier"></a>
<div class="zc-tn-c">
<span class="zc-tn-z"
title="Central Standard Time">CST</span>
<div class="zc-tn-t">7:00 PM</div>
<div class="zc-tn-t">7:30 PM</div>
<div class="zc-tn-t">8:00 PM</div>
<div class="zc-tn-t">8:30 PM</div>
<div class="zc-tn-t">9:00 PM</div>
<div class="zc-tn-t">9:30 PM</div>
</div>
<a href="ZCGrid.do?fromTimeInMillis=1355803200000"
class="zc-tn-r"
title="Advance the grid three hours"></a>
</div>
</div>
簡單搜索驗證值zc-tn-top
確實是唯一的文檔中的ID值。鑑於這種情況,一個簡單的XPath表達式來檢索所有其顯示在你的形象被圈定爲(假設xhtml
綁定到XHTML命名空間)的元素:
//xhtml:div[@id='zc-tn-top']//xhtml:div[@class='zc-tn-t']
看起來從你的問題是,如果你的XPath計算器是命名空間-challenged或命名空間忘記,所以你可能需要很多寫爲
//div[@id='zc-tn-top']//div[@class='zc-tn-t']
謝謝,我不知道我能id和class照片直接而不調用體,僅有1個多問題,爲什麼我加'//a'結尾,使其輸出爲單行而不是行。謝謝 – Mowgli
在它的末尾添加「'// a'」將使XPath表達式匹配不是class =「zc-tn-t」的div元素集合,而是匹配它們內部的一組'''元素這種情況是空集)。我不知道如何回答你關於單行和多行的問題,因爲我不知道你的意思。 –
謝謝,我現在明白了。 – Mowgli