天天看点

XPath练习(1)

直接解析出body节点中间的文本

<html>

 <head>

   <title>

 test

   </title>

 </head>

 <body algin="center" stly="windows.back()">

  liangshi

 </body> 

</html>

-------------------程序如下-------------------------------------------------------------------------------

import java.io.File;

import java.io.IOException;

import javax.xml.parsers.DocumentBuilder;

import javax.xml.parsers.DocumentBuilderFactory;

import javax.xml.parsers.ParserConfigurationException;

import javax.xml.xpath.XPath;

import javax.xml.xpath.XPathExpressionException;

import javax.xml.xpath.XPathFactory;

import org.w3c.dom.Document;

import org.xml.sax.SAXException;

public class Xpath_text {

 public static void main(String[] args) {

  //得到工厂

  DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

  DocumentBuilder builder = null;

  try {

   //得到builder

   builder = factory.newDocumentBuilder();

  } catch (ParserConfigurationException e) {   

   e.printStackTrace();

  }

  //得到要解析的文件

  File f = new File("D://c++//test.xml");

  Document doc = null;

  try {

   //得到树

   doc = builder.parse(f);

  } catch (SAXException e) {

   e.printStackTrace();

  } catch (IOException e) {

   e.printStackTrace();

  }

  //得到XPath的工厂

  XPathFactory xfactory = XPathFactory.newInstance();

  //得到path

  XPath path = xfactory.newXPath();

  try {

   //得到要解析出来的文本

   String body = path.evaluate("/html/body", doc);

   //在控制台打印出解析出来的结果

   System.out.println("得到的结果是:"+body);

  } catch (XPathExpressionException e) {

   e.printStackTrace();

  }

 }

}

----------------------结果是如下---------------------------------------------------------------------

得到的结果是:

  liangshi