仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1030|回复: 19
打印 上一主题 下一主题

[学习教程] 发布一篇JasperReport那些事儿(三)――利用XPATH查询XML

[复制链接]
山那边是海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:32:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
先谈谈我对java的一些认识。我选择java,是因为他语法简单,功能强大,从web,到桌面,到嵌入式,无所不能。但当我进一步了解了java后,感叹,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=女]
<p>
Java编译的是字节码,跟C++相反,启动不够快,效率不够高,难以精确控制内存,但是优点是编程比C++容易,代码比较安全但是容易留下性能隐患,跨平台靠字节码在各个平台复制(一处编译到处调试)
谁可相欹 该用户已被删除
沙发
发表于 2015-1-19 20:07:03 | 只看该作者
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
金色的骷髅 该用户已被删除
板凳
发表于 2015-1-24 16:00:17 | 只看该作者
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.jdon.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
小妖女 该用户已被删除
地板
发表于 2015-2-2 08:22:29 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
冷月葬花魂 该用户已被删除
5#
发表于 2015-2-4 20:59:56 | 只看该作者
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
山那边是海 该用户已被删除
6#
 楼主| 发表于 2015-2-7 04:28:48 | 只看该作者
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
透明 该用户已被删除
7#
发表于 2015-2-8 20:16:48 | 只看该作者
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
再见西城 该用户已被删除
8#
发表于 2015-2-9 13:43:20 | 只看该作者
是一种为 Internet发展的计算机语言
精灵巫婆 该用户已被删除
9#
发表于 2015-2-27 06:37:22 | 只看该作者
是一种将安全性(Security)列为第一优先考虑的语言
小魔女 该用户已被删除
10#
发表于 2015-3-6 14:49:18 | 只看该作者
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
简单生活 该用户已被删除
11#
发表于 2015-3-13 02:09:08 | 只看该作者
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
第二个灵魂 该用户已被删除
12#
发表于 2015-3-13 06:10:20 | 只看该作者
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
莫相离 该用户已被删除
13#
发表于 2015-3-14 21:54:50 | 只看该作者
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
柔情似水 该用户已被删除
14#
发表于 2015-3-16 04:05:25 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
15#
发表于 2015-3-19 23:10:35 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
乐观 该用户已被删除
16#
发表于 2015-3-26 06:16:46 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
再现理想 该用户已被删除
17#
发表于 2015-3-27 16:08:44 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
深爱那片海 该用户已被删除
18#
发表于 2015-4-2 13:33:04 | 只看该作者
Java是一种计算机编程语言,拥有跨平台、面向对java
灵魂腐蚀 该用户已被删除
19#
发表于 2015-4-10 10:44:43 | 只看该作者
自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
海妖 该用户已被删除
20#
发表于 2015-4-11 14:48:58 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-16 05:51

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表