|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
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++容易,代码比较安全但是容易留下性能隐患,跨平台靠字节码在各个平台复制(一处编译到处调试) |
|