首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

编纂简单的XPath程序

2012-11-04 
编写简单的XPath程序当前使用XPath 1.0 1,需求说明 假设要查询一个图书列表,寻找TEST的著作. 2,创建项目

编写简单的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网站的内容:
http://www.ibm.com/developerworks/cn/xml/x-javaxpathapi.html 3 楼 sc_1028 2008-01-31   本人承认,该技术来源于IBM Development,该blog是我的技术总结.谢谢支持!

热点排行