2011-12-21 87 views
2

有沒有一種方法,使用DOM_Document XPath搜索反向(從頁的結尾,而不是從上而下?動起來) 如果是的話,我會怎麼做這是什麼時候?Xpath的反向搜索

我doind一個網站的刮。 (下面鏈接)。 http://www.sturmfh.com/obit-display.jhtml?DB=update/obits/dbase&DO=display&ID=1189477693_24578

我只想刮掉3個訃告段落。所以我認爲最簡單的做法是最後開始並向上移動。

+1

解釋爲什麼你會做到這一點。 – 2011-12-21 19:00:26

回答

2

使用

(//p)[position() > count(//p) - 3] 

這將選擇最後一次(最多3個)的XML文檔中p元素。

XSLT - 基於驗證

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:output omit-xml-declaration="yes" indent="yes"/> 
<xsl:strip-space elements="*"/> 

<xsl:template match="node()|@*"> 
    <xsl:copy-of select="(//p)[position() > count(//p) - 3]"/> 
</xsl:template> 
</xsl:stylesheet> 

當針對該文檔,在問題引用應用,這種轉化評估XPath表達式並輸出所選擇的p元件。

結果是

<p> 
       If you would like to share your thoughts and memories,<br/> we will deliver your message to the family.<br/> 
    <a href="mailto:[email protected]?Subject=For%20the%20Family%20of%20Lyle%20Meier">Click</a> 
    <a href="mailto:[email protected]?Subject=For%20the%20Family%20of%20Lyle%20Meier"> 
     <img src="/images/email_condol.gif" alt="Logo" border="0" align="middle"/> 
    </a> 
    <a href="mailto:[email protected]?Subject=For%20the%20Family%20of%20Lyle%20Meier">here</a>. 
     </p> 
<p>To Request a Tribute Folder 
       <br/> 
    <a href="./obit-foldreq.jhtml?fname=Lyle&amp;lname=Meier">Click</a> 
    <a href="./obit-foldreq.jhtml?fname=Lyle&amp;lname=Meier"> 
     <img src="/images/email_condol.gif" border="0" alt="View" align="top"/> 
    </a> 
    <a href="./obit-foldreq.jhtml?fname=Lyle&amp;lname=Meier">here</a> 
</p> 
+0

謝謝,這將讓我在正確的軌道上。 – Frantumn 2011-12-21 20:27:36

+0

@Frantumn:不客氣。 – 2011-12-21 20:38:25