编写简单的XPath程序
当前使用XPath 1.0
1,需求说明
假设要查询一个图书列表,寻找TEST的著作.
2,创建项目
创建一个Java项目.
Java 1.5推出了javax.xml.xpath包,提供一个引擎和对象模型独立的XPath库.只要Java环境>1.5,无需增加类库.
这个包也可用于Java 1.3及以后的版本,但需要单独安装Java API for XML Processing(JAXP)1.3
提示:Xalan 2.7 和Saxon 8 以及其他产品包含了这个库的实现.
3,创建包含图书信息的XML文档
编写包含图书信息的XML文档,将其命名为books.xml,并将其放至在src目录下:
package book;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.xpath.XPath;import javax.xml.xpath.XPathConstants;import javax.xml.xpath.XPathExpression;import javax.xml.xpath.XPathFactory;import org.w3c.dom.Document;import org.w3c.dom.NodeList;public class Test { public static void main(String[] args) throws Exception { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setNamespaceAware(true); // never forget this! DocumentBuilder builder = factory.newDocumentBuilder(); Document doc = builder.parse("src/books.xml"); XPathFactory pathFactory = XPathFactory.newInstance(); XPath xpath = pathFactory.newXPath(); XPathExpression pathExpression = xpath .compile("//book[author='TEST']/title/text()"); Object result = pathExpression.evaluate(doc, XPathConstants.NODESET); NodeList nodes = (NodeList) result; for (int i = 0; i < nodes.getLength(); i++) { System.out.println(nodes.item(i).getNodeValue()); } }}?
1 楼 thoriod 2008-01-05 详细看下先 2 楼 balaschen 2008-01-29 貌似抄袭IBM development网站的内容: