快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20
的name属性值必须是name3 Itarator companysInArray = context.iterate("companysInArray [name=''name3'']"); //获得集合中对象的name属性为''name2''的所有对象 //iterator方法的参数companysInCollection [name=''name3'']使用了XPath的语法 //其中的companysInCollection是Association对象的属性 //他是一个Collection类型或者是其子类型的一个实例 //name=''name3''是条件表达式,表示返回对象的name属性值必须是name3 Itarator companysInCollection = context.iterate("companysInCollection [name=''name3'']");

3.4 访问Map对象的内容

1、准备符合条件的java类package org.vivianj.jxpath.examples.pub; import java.util.HashMap; import java.util.Map; import org.apache.commons.jxpath.JXPathContext; public class MyMapSource { private Map map = new HashMap(); public MyMapSource(){ map.put("id",new Integer(5)); map.put("name","name"); } public Map getMapSource(){ return this.map; } }

2、使用JXPath访问Map的内容//实例化MyMapSource对象 MyMapSource myMapSource = new MyMapSource(); //实例化JXPath上下文 JXPathContext context = JXPathContext.newContext(myMapSource); //通过JXPath访问Map对象的内容 // getValue方法的参数使用了XPath语法 // mapSource/id中的mapSource表示MyMapSource对象的属性, //他是一个Map类型的对象,id表示获取该Map对象的id字段 Integer id = (Integer) context.getValue("mapSource/id");

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

时间:2011-01-27

3.5 访问XML文件

1、编写自己的XML文件<?xml version="1.0" ?> <companys> <company id="101"> <name>sun</name> <address> <street>18 #,WenShan Road</street> </address> </company> <company id="102"> <name>ibm</name> <address> <street>18 #,WenEr Road</street> </address> </company> </companys>

2、编写一个类,返回符合条件的company内容package org.vivianj.jxpath.examples.pub; import java.net.URL; import org.apache.commons.jxpath.Container; import org.apache.commons.jxpath.xml.DocumentContainer; public class Companys { private Container companys = null; public Container getCompanys(){ if (companys == null){ //获取XML文件的内容 URL url = getClass().getResource("companys.xml"); //将XML的内容绑定到companys对象 companys = new DocumentContainer(url); } return companys; } }

3、使用JXPath访问XML文件的内容//实例化Companys对象 Companys companys = new Companys(); //初始化JXPath上下文 JXPathContext context = JXPathContext.newContext(companys); //获得指定记录的子元素的内容 /*getValue方法的参数 "companys/companys/company[@id = ''101'']/address/street" 使用了XPath语法 其中的第一个companys表示访问Companys对象的companys属性 第二个companys表示访问XML数据中的companys元素 company、address、street都是xml中的元素的名字 @id = ''101''是一个条件表达式,表示符合条件的company元素的id属性必须是101 */ String street = (String)context.getValue( "companys/companys/company[@id = ''101'']/address/street"); //通过JXPath获取xml元素的属性的值 logger.debug

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号