jxpath学习笔记[Java编程]
本文“jxpath学习笔记[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
get set 参考 BeanUtil 包 和 Xpath
http://commons.apache.org/ 的 jxpath User's Guide
类的加载
JXPathContextcontext=JXPathContext.newContext( obj );
//和 xpath 的 范围肯定
普通取值 存值
StringfName=(String)context.getValue("firstName"); //setValue
//参考 http://www.blogjava.net/Good-Game/archive/2007/08/10/135739.html
普通的统计和利用 c 为 list [id,name,.....]
JXPathContextcontext=JXPathContext.newContext(c);
System.out.println(context.getValue("count(.[name='oo'andid='1'])")); //对象 name=oo 和 id=1的有多少个
System.out.println( context.getValue("sum( .[name='oo' and id='1' ]/id )") );//对象name=oo和id=1的全部id相加
得到调集
IteratorthreeBooks=context.iterate("books[position()<4]");
//xpath 的位置函数 position 其他函数参考 http://www.w3.org/TR/xpath
//4 Core Function Library
xpath 利用
publicclassEmployee{
privateMapaddressMap=newHashMap();
{
addressMap.put("home",newAddress());
addressMap.put("office",newAddress());
}
publicMapgetAddresses(){
returnaddressMap;
}
}
StringhomeZipCode=(String)context.getValue("addresses[@name='home']/zipCode");
//利用的是 addressMap map 的 key = home 的Address类属性的 zipCode
xml 在程序 与 xpath 的切入点
<?xmlversion="1.0"?>
<vendor>
<locationid="store101">
<address>
<street>OrchardRoad</street>
</address>
</location>
<locationid="store102">
<address>
<street>TangerineDrive</street>
</address>
</location>
</vendor>
classCompany{
privateContainerlocations=null;
publicContainergetLocations(){
if(locations==null){
URLurl=getClass().getResource("Vendor.xml");
locations=newXMLDocumentContainer(url);
}
returnlocations;
}
}
context=JXPathContext.newContext(newCompany());
Stringstreet=(String)context.getValue(
"locations/vendor/location[@id='store102']//street");
// 类Container的 属性 locations 头 vendor(xml内) .....
以上是“jxpath学习笔记[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |