<b>JasperReport那些事儿(三)——操纵XPATH查询XML</b>[Java编程]
本文“<b>JasperReport那些事儿(三)——操纵XPATH查询XML</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
同事Q:“小黑,你上次说一半不说一半,这次可得诚恳交代怎么从XML查询数据了吧.”
俺:“好好,我这就交代.你看我这星期不是忙得焦头烂额么?”(注:忙永久是程序员的捏词)
其实JasperReport利用的也不是什么奥秘的东西,就是XPATH.
XPath 是一门在 XML 文档中查找信息的语言.XPath 可用来在 XML 文档中对元素和属性举行遍历(从w3cshool抄来的).关于XPATH,我就不具体讲了,因为关于普通的报表,只需求掌握几个常用的查询;假如想深究网上有更好的教程(教程可以点这里).我这里只简单地讲授XPATH的一些概念和常用的一些查询.
(1)什么是绝对途径和相对途径?
我这里那是拿出我的NameList做例子吧.
<?xml version="1.0" encoding="utf-8" ?>
<NameList>
<Person>
<Name>强尼</Name>
<Gender>男</Gender>
<Age>56</Age>
</Person>
<Person>
<Name>阿美</Name>
<Gender>女</Gender>
<Age>23</Age>
</Person>
<Person>
<Name>李丽</Name>
<Gender>女</Gender>
<Age>58</Age>
</Person>
</NameList>
比方我要选取全部的Person节点,那绝对途径应当这样写:
/NameList/Person
目前以Person作为根途径,假如要选取全部Person节点下的Name节点,那相对途径可以这样写:
Name
所谓的相对途径是不以/开首,相对与一个绝对途径的途径.假如用绝对途径选取全部Name节点,可以这样写:
/NameList/Person/Name
(2)带条件的XPATH查询
XPATH的条件是写在途径后的一个方括号内,条件支持XPATH的函数和一些逻辑运算标记.常用的逻辑运算标记有+,<,=,or,and等.以下是一些例子.
选取第一个Person节点
/NameList/Person[1]或/NameList/Person[position()=1]
选取Age小于50的Person节点
/NameList/Person[./Age<50]
选取Gender是女的Person节点
/NameList/Person[./Gender='女']
以上是“<b>JasperReport那些事儿(三)——操纵XPATH查询XML</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |