2010年8月1日 星期日

另一種解析 Xpath 的套件

上次在 利用 Xpath( Xml Path Language XML查詢語言)來達到搜索功能 這篇文章中,是使用 xerces 這個額外下載的套件,實際上 JDK 也有內建 Xpath 的套件,就目前測試結果,兩者並無特別差異,但說不定在更後期的測試過程中,可能會有較明顯的差異。其程式碼如下:

import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathExpression;
import javax.xml.xpath.XPathExpressionException;
import javax.xml.xpath.XPathFactory;
// 以上都是 JDK 內建的套件

public class html extends JFrame{
      XPathFactory factory = XPathFactory.newInstance();
      XPath xpath;
  
      public html(){
            xpath=factory.newXPath();   //利用 XPathFactory 建立新的 XPath
      }

      public String[][] parse(String input){   // input 為 Xpath 指令
            NodeList nodelist = null;
            String data[][] = null;
            try {
                  XPathExpression xpe = xpath.compile(input);
                  // 處理 Xpath 指令的表達式
                  nodelist = (NodeList) xpe.evaluate(document, XPathConstants.NODESET);
                  // 將 Document 載入後,將 Xpath 的搜索結果強制轉換成 NodeList
             ......
             }
        }
}

參考資料:

沒有留言:

張貼留言