快速业务通道

使用JXPath访问java对象、集合和XML文件 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20

使用JXPath访问java对象、集合和XML文件

时间:2011-01-27

一、JXPath简介

JXPath是apache公司提供的XPath的java实现,属于jakarta的一部分,最新的版本是1.1,JXPath的主要功能在于一组java类库来使用XPath的方式访问符合JavaBeans规范的java类、java集合(Collections)、其他具有动态属性的对象(如Map、ServletContext等),同时提供了一套扩展机制使我们可以增加对这些对象之外的其他对象模型的支持。

[注]

1、关于XPath的更多内容请大家访问XPath的主页

asp">http://www.w3schools.com/xpath/default.asp

2、关于JXPath的更多内容请大家访问JXPath的主页

http://jakarta.apache.org/commons/jxpath/index.html

二、环境准备

1、下载JXPath

JXPath最新版本的二进制代码下载地址为

http://apache.linuxforum.net/dist/jakarta/commons/jxpath/binaries/commons-jxpath-1.1.zip

2、下载eclipse

作者使用了eclipse作为开发工具,请大家到http://www.eclipse.org/下载eclipse的最新版本。

3、下载Tomcat

作者使用了Tomcat作为Web容器来演示如何使用JXPath访问ServletContext中的对象,请大家到jakarta.apache.org下载Tomcat的最新版本。

下面的几个章节将详细的演示如何使用JXPath来访问各种各样的对象,同时将演示如何通过JXPath来创建对象、修改对象的属性等功能。

使用JXPath访问java对象、集合和XML文件(2)

时间:2011-01-27

三、使用JXPath访问对象内容3.1 访问JavaBean的属性

1、准备一个符合要求的Java类

作者制作了一个Company类,它包括3个属性:ID、Name和Address,代码如下:package org.vivianj.jxpath.examples.pub; import java.util.Comparator; import org.apache.log4j.Logger; public class Company implements Comparator{ public static Logger logger = Logger.getLogger(Company.class); private String name = ""; private int id = 0; private String address = ""; public void setName(String p_name){ this.name = p_name; } public void setId(int p_id){ this.id = p_id; } public void setAddress(String p_address){ this.address = p_address; } public String getName(){ return this.name; } public int getId(){ return this.id; } public String getAddress(){ return this.address; } public int compare(Object o1, Object o2){ return 0; } public boolean equals(Object obj) { boolean result = false; if (obj instanceof Company){ Company company = (Company) obj; if (company.getId()==this.id && company.getName().equals(this.getName()) && company.getAddress().equals(this.getAddress())) result = true; } return result; } }

2、使用JXPath来访问该java类的属性

现在我们使用JXPath来访问这个类的属性,测试代码如下://实例化一个Company对象 Company company = new Company(); //设置该对象的各个属性 company.setId(1); company.setName("vivianj组织"); company.setAddress("www.vivianj.org"); //初始化JXPath的上下文环境 JXPathContext context = JXPathContext.newContext(company); //使用XPath语法来访问该对象的属性 //getValue方法的参数"name"、"id"、"address"使用了XPath的语法, //他们分别代表要访问company对象的属性name、id、address String name = (String)context.getValue("name"); Integer id = (Integer) context.getValue("id"); String address = (String)context.getValue("add

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号