Xpath 本身就是一種 Xml 技術的查詢語言,在1999年11月16日成為 W3C 的建議規格,我們可利用 Xpath 查詢語言與運算式當作搜索條件,由於 Xpath 語言內容較為簡單,故在此就不再多作敘述,有興趣可查詢參考資料的內容。以下為 Java 使用 Xpath 的程式碼:
import com.sun.org.apache.xpath.internal.XPathAPI;
// Xpath 套件,可在 Neko HtmlParser官方網站下載到 xerces
public class html{
Document document;
NodeList nodelist;
......
public void loadDOM(String URL,input){
// URL 為網站網址,input 為 Xpath 語言
try {
parser.parse(URL); //匯入解析器並產生 DOM
document=parser.getDocument(); //取得 Document
//上述為 Html DOM 產生的 Document
// 若是 XML DOM ,可參考以下兩篇文章
// XML 載入 DOM 時, DTD 的存放位置與顯示方式
// 產生具有 外部DTD 的 Document 文件
......
nodelist = XPathAPI.selectNodeList(document, input);
//將 Xpath 查詢結果以 nodelist 方式回傳
}
......
}
其中需要注意的一點,就是 input 的 Xpath 查詢語言必須都要大寫,要是小寫可能會產生查詢結果不如預期結果,例如抓取所有(或)的標籤:
- //*/A
- //*/a
參考資料:
- NekoHtml與XPath - iPie
- NekoHTML 和 XPath - Dustin(JavaEye 技術網站)
- XML理論與實務 Java的XML應用程式開發 - 陳會安 著
沒有留言:
張貼留言