我在這裏發佈,希望有專家權衡如何最好地結合不同節點深度的文本值和被索引的文本值。XPath 1.0 - 在不同節點深度選擇文本
我想弄清楚如何從以下兩個語句創建一個XPath 1.0語句。文本值位於不同的深度,第二個語句具有索引文本值。是
這兩個路徑我想結合如下:
div/div[contains(concat(' ', @class, ' '), ' comment-author ')]/a/text()
div/div[contains(concat(' ', @class, ' '), ' comment-author ')]/text()[2]
在此駐留是其中評論海報提供他們的姓名作爲任一種錨(從中接觸)或是上下文只是純文本。
在第一條語句中選擇的文本來自沒有嵌套文本的錨點。在第二條語句中選擇的文本需要索引,因爲相鄰或嵌套的文本存在,因此必須明確提供。
任何有關此事的建議或指導將不勝感激。
謝謝 邁克爾
編輯/後隨
下面的摘錄顯示HTML(只是標籤),但在特定的div類值留下的下調版本。在原來的問題提供的XPath值對應於從li
以下項目正在取得XPath查詢:
<html>
<body>
<div>
<div>
<div>
<ol>
<li>
<div>
<div class="comment-author vcard">
<a>candaceerin</a>
<div class="commentmetadata">...</div>
</div>
</div>
</li>
<li>
<div>
<div class="comment-author vcard">
<img/> Rachel
<div class="commentmetadata">...</div>
</div>
</div>
</li>
</ol>
</div>
</div>
</div>
</body>
</html>
您能否提供一個兩個配置的示例片段,使其對所有人都更加直觀?根據模式,'div/div // text()'可能會訣竅 – Robin
感謝Robin,我正在評估一個網站來提取客戶端的內容。該網頁是:[鏈接](http://mybrownbaby.com/2014/01/the-problem-with-parenting-from-your-own-pain/),特別是底部的評論。當查看用戶/海報名稱時,一些名稱是超鏈接(例如,candaceerin),而另一些則不是(例如,Rachel)。該網站將用戶/海報名稱顯示爲超鏈接或文字。 – Michael