- java8-Stream流Terminal终端操作详解
音乐土豆
java8javastream
接上一篇流的中间操作Java8-Stream流Intermediate中间操作详解约简操作:1、max(Comparator)获取最大值int[]arr={1,1,2,3,4,4,5};OptionalIntmax=Arrays.stream(arr).max();System.out.println(max.orElse(0));//52、min(Comparator)获取最小值Optional
- Java8-Stream 流基本应用-groupBy进行分组
康世行
#Java篇面试八股文#SpringBootpython前端开发语言
groupBy进行分组@TestpublicvoidtestStreamGroupBy(){Listresult=newArrayList>collect=result.stream().collect(Collectors.groupingBy(UserInfoModel::getUserName));System.out.println("分组之后的数组内容result"+collect);}
- java8-Stream流
北漂IT民工_程序员_ZG
研究自创java开发语言后端
java8-Stream流写法详解一、Stream是什么?二、Stream流的实际应用1、filter过滤操作2、map操作3、Stream的终止操作4、Optional常用方法5、Stream.reduce()使用案例6、Stream的collect(Collectorc)方法用法7、java8排序8、java8多条件去重一、Stream是什么?Stream是Java8中处理集合的关键抽象概念,
- JAVA8-stream学习
weixin_34166847
java
stream执行顺序数据流操作要么是衔接操作,要么是终止操作。衔接操作返回数据流,所以我们可以把多个衔接操作不使用分号来链接到一起。终止操作无返回值,或者返回一个不是流的结果。在上面的例子中,filter、map和sorted都是衔接操作,而forEach是终止操作。衔接操作延迟性Stream.of("d2","a2","b1","b3","c").filter(s->{System.out.pr
- java8-Stream流常用API
Less^_^
Java软件工程java
什么是StreamStream(流)是Java8引入的一个新的抽象概念,它代表着一种处理数据的序列。简单来说,Stream是一系列元素的集合,这些元素可以是集合、数组、I/O资源或者其他数据源。StreamAPI提供了丰富的操作方法,可以对Stream中的元素进行各种转换、过滤、映射、聚合等操作,从而实现对数据的处理和操作。StreamAPI的设计目标是提供一种高效、可扩展和易于使用的方式来处理大
- 记录Java8-stream 日常的一些使用。
林落雨声
Java后端排序算法算法
1、排序(按照期次大小排序)ListcompensatoryGroupModels=compensatory.getCompensatoryGroupModels().stream().sorted(Comparator.comparing(CompensatoryGroupModel::getTermNo)).collect(Collectors.toList());2、计算总金额BigDeci
- java8-stream流
pretty_rain
首先,Stream流有一些特性:1.Stream流不是一种数据结构,不保存数据,它只是在原数据集上定义了一组操作。2.这些操作是惰性的,即每当访问到流中的一个元素,才会在此元素上执行这一系列操作。3.Stream不保存数据,故每个Stream流只能使用一次。Stream的操作分为三种:1.创建stream流。2.中间操作。3.终止操作。演示代码下载地址:https://github.com/pre
- Java8-Stream流操作List去重
徐寿春
Java--工具java
根据属性去重整体去重使用distinctArrayListcollect=labelInfoDTOS.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(()->newTreeSet<>(Comparator.comparing(LabelInfoDTO::getLabelCode))),ArrayList::
- java stream流排序,Java8-Stream流操作List排序(完整实例讲解)
游子离
javastream流排序
废话少说,直接上代码。一个学生类的实体类ps:使用IDEA的同学,快捷键[Alt+Insert],可以一键生成对应的set/get/tostring/构造方法。publicclassStudent{privateLongid;privateStringname;privateintage;privateDoubleheight;publicStudent(Longid,Stringname,int
- java8-stream流的sorted 排序
langzilige
javastreamlambda
java8-stream流的sorted排序介绍介绍排序一般按照某个字段进行进行升序或者降序排,我们自己实现排序一般会用冒泡,快排序,二分法等如果用sorted排序,以前上百行的代码现在只需要几行代码搞定,增强的代码的简洁性升序Listlist=Arrays.asList(10,6,3914);Listfilter1=list.stream().sorted(Comparator.comparin
- java8-stream使用参考
这题桢楠@
01-javaapijava
在平时开发过程中,目前java8的stream操作应该是接触比较多的,记录下其中涉及使用的操作publicstaticvoidmain(String[]args){//list转map1Map>listMap=rests.stream().collect(Collectors.groupingBy(ClassRest::getClassId));//list转map2Mapmap=list.str
- Java8-Stream流操作List去重distinct、和指定字段去重(完整实例讲解)
Java尖子生
Java8+java8streamlist去重指定字段去重distinct
使用Java8的Stream的distinct方法去重,我们的对象需要实现hashcode()和equals()方法。把学生类修改后如下:publicclassStudent{privateLongid;privateStringname;privateintage;privateDoubleheight;publicStudent(Longid,Stringname,intage,Doubleh
- Java8-Stream流操作(一)
老王随聊
java
Java8流的新类java.util.stream.Collectors实现了java.util.stream.Collector接口,同时又提供了大量的方法对流(stream)的元素执行map和reduce操作,或者统计操作。目录1、Collectors.toList()1.1作用1.2代码示例2、Collectors.toSet()2.1作用
- Java8-Stream流操作List去重问题
目录Java8Stream流操作List去重List列表运用Java8的stream流按某字段去重问题思路Java8Stream流操作List去重根据属性去重整体去重使用distinctArrayListcollect=labelInfoDTOS.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(()->ne
- java8-stream 4 聊聊串行与并行
MikeLi666
在进行接下来的话题前,我们来谈谈并行,串行的问题。我们本节要弄明白的问题是,串行和并行,执行的流程是什么样的。不同的中间操作(运功)会对流程有什么样的影响。说真心的我真的不想大段大段贴代码。但是为了让各位看官能明白我在做什么,我实在是没有其他什么特别好的办法了。串行一个线程做完所有事情优点:不存在什么线程安全问题,保证处理的先后顺序。缺点:速度比较慢。串行演示.gif来看一个简单的例子,我需要将集
- java8-stream 1 初见
MikeLi666
学习java如同学习武功,代码规范就是武功招式,设计模式如同内功心法。如果你会几个好用的开源工具,就如同学了几本武学秘籍。秘籍虽然好,但是如果没有用对,分分钟反伤自己。化骨绵掌外柔内刚,以爆发劲为主。手法以掌为主,运转舒展,动作连绵不断,掌法运行成环;劲力内蓄刚劲,外现绵柔,爆发迅猛。stream就是java中的化骨绵掌。一套连续不断地输出,帮我们攻击拉满。让我们通过一个具体的小任务来看看,str
- java8-stream 2 极简流程
MikeLi666
对于使用stream,主要是三个步骤.1获取内力2运功(内力产生一系列变化)3发力(造成伤害)运功:运功是根据需要来定制的,你想打伤韦小宝与打伤神龙教主,虽然都是打出去一掌,打神龙教主的这一掌,内力需要走一遍任督二脉,再走一遍奇经八脉。打韦小宝的这一掌,估计力量大点就可以了。发力:我们每次只有在发力的时候会造成影响,什么时候需要发力,那么就什么时候运功。分解招式publicclassTest201
- java8-stream
FantJ
1.什么是streamstream被定义为泛型接口stream接口代表数据流stream不是一个数据结构,不直接存储数据stream通过管道操作数据2.什么是管道管道包括:1、数据集:可以是集合、数组等list、array2、过滤器filter3、终端操作,如Stream.forEach方法3.什么是过滤器stream的过滤器可以匹配数据源,并返回一个stream对象。Streamstream=l
- Java8-Stream流操作max和min
manba_yqq or ZiFan
Java8
一max和min1.Stream上常用的操作之一是求最大值和最小值。StreamAPI中的max和min操作足以解决这一问题2.查找Stream中的最大或最小元素,首先要考虑的是用什么作为排序的指标。以查找人名中的最短人名为例,排序的指标就是人名的长度。3.为了让Stream对象按照人名长度进行排序,需要传给它一个Comparator对象。Java8提供了一个新的静态方法comparing,使用它
- Java Stream流之求和的实现
BigDecimal:BigDecimalbb=list.stream().map(Plan::getAmount).reduce(BigDecimal.ZERO,BigDecimal::add);int、double、long:doublemax=list.stream().mapToDouble(User::getHeight).sum();补充:java8-Stream流之数值函数(求和、最
- Java8-Stream
java
简介Stream流处理,首先要澄清的是java8中的Stream与I/O流InputStream和OutputStream是完全不同的概念。Stream机制是针对集合迭代器的增强。流允许你用声明式的方式处理数据集合(通过查询语句来表达,而不是临时编写一个实现)。本文后半部分将拿Stream中查询语句与我们熟悉的SQL查询语句做一些类别,方便大家的理解和记忆。创建对象流创建对象流的三种方式:由集合对
- Java8-Stream
java
简介Stream流处理,首先要澄清的是java8中的Stream与I/O流InputStream和OutputStream是完全不同的概念。Stream机制是针对集合迭代器的增强。流允许你用声明式的方式处理数据集合(通过查询语句来表达,而不是临时编写一个实现)。本文后半部分将拿Stream中查询语句与我们熟悉的SQL查询语句做一些类别,方便大家的理解和记忆。创建对象流创建对象流的三种方式:由集合对
- java8-stream
耿子666
java8
文章目录目标Stream基础概念注意点具体的api参考Stream的相关apicollectors相关小技巧目标了解java8stream的操作参考:java8实战书籍,java简明教程Stream对于stream不要误认为是操作io的类,java8提供的stream是用于处理集合(Collection)的数据流。基础概念通过stream可以实现链式操作,以点方法的形式,将方法链接的在一起。Arr
- 【修炼内功】跃迁之路
林舍
学习笔记计划任务
经历了2018的种种之后,终于找到一丝平静。跃迁,这是2019年,对自己的一种期待。树无根不长,人无志不立。志不立,天下无可成之事!此文用以记录2019年成长之路(不定期更新),谨以自勉!博文·修炼内功Java8-Lambda表达式带来的编程新思路Java8-Lambda表达式里的"陷阱"Java8-使用Optional的正确姿势及序列化问题Java8-Stream是怎么工作的Java8-Lamb
- Java8-Stream
如此简单^_^
Stream基本知识Stream流的来源。可以是集合,数组,I/Ochannel,产生器generator等进行的操作:聚合操作类似SQL语句一样的操作,比如filter,map,reduce,find,match,sorted等Pipelining:中间操作都会返回流对象本身。这样多个操作可以串联成一个管道,如同流式风格(fluentstyle)。这样做可以对操作进行优化,比如延迟执行(lazi
- java8-stream 3 常用中间步骤(费大劲做了gif)
MikeLi666
这次呢,主要来讲讲使用化骨绵掌-stream中和核心部分运功。本节中,我将Stream类中的返回值类型还是Stream类对象的方法集中提取出来。给大家做一波讲解。主要为以下几种无需等待上游类型#####filter|map|flatMap|peek|peek|需要等待上游类型#####distinct|limit|sorted只要明白,每种的功能,想清楚上下游Stream对象中的元素类型,做出适当
- java8-Stream流之数值函数(求和、最大值、最小值、平均值)
一只渣渣
java8Stream
//todostream流的使用//todofilter:过滤操作;保留符合过滤条件的对象;这是一个中间操作;后面可以带最终操作//todomapToInt:将数据根据double类型来处理;publicstaticvoidmain(String[]args){Listlist=createSalesOrder();//获取集合中城市为上海的数量System.out.println("mapToI
- Stream性能的简单测试
8971km
ideajava
java8-Stream性能的一个简单测试生成两个List集合,对第一个集合取出50-60之间的数,再在这些数中取出前三个,通过实体类封装,装入集合。对第二个集合取出60-70之间的数,再在这些数中,取出出前两个外的所有数,也通过实体类封装进同一个集合中实体类代码:/***@Authorxlyu*@Date2019/9/26*@Description*/packagecom.ces.java8.s
- java8-stream常用操作
weixin_34261415
importorg.junit.Test;importjava.util.*;importjava.util.function.Function;importjava.util.stream.Collectors;importstaticjava.util.Comparator.comparingInt;importstaticjava.util.stream.Collectors.*;/***C
- Java8-Stream语法详解
知之可否
java
转载自http://ifeve.com/stream/#header1.Stream初体验我们先来看看Java里面是怎么定义Stream的:Asequenceofelementssupportingsequentialandparallelaggregateoperations.我们来解读一下上面的那句话:Stream是元素的集合,这点让Stream看起来用些类似Iterator;可以支持顺序和并
- iOS http封装
374016526
ios服务器交互http网络请求
程序开发避免不了与服务器的交互,这里打包了一个自己写的http交互库。希望可以帮到大家。
内置一个basehttp,当我们创建自己的service可以继承实现。
KuroAppBaseHttp *baseHttp = [[KuroAppBaseHttp alloc] init];
[baseHttp setDelegate:self];
[baseHttp
- lolcat :一个在 Linux 终端中输出彩虹特效的命令行工具
brotherlamp
linuxlinux教程linux视频linux自学linux资料
那些相信 Linux 命令行是单调无聊且没有任何乐趣的人们,你们错了,这里有一些有关 Linux 的文章,它们展示着 Linux 是如何的有趣和“淘气” 。
在本文中,我将讨论一个名为“lolcat”的小工具 – 它可以在终端中生成彩虹般的颜色。
何为 lolcat ?
Lolcat 是一个针对 Linux,BSD 和 OSX 平台的工具,它类似于 cat 命令,并为 cat
- MongoDB索引管理(1)——[九]
eksliang
mongodbMongoDB管理索引
转载请出自出处:http://eksliang.iteye.com/blog/2178427 一、概述
数据库的索引与书籍的索引类似,有了索引就不需要翻转整本书。数据库的索引跟这个原理一样,首先在索引中找,在索引中找到条目以后,就可以直接跳转到目标文档的位置,从而使查询速度提高几个数据量级。
不使用索引的查询称
- Informatica参数及变量
18289753290
Informatica参数变量
下面是本人通俗的理解,如有不对之处,希望指正 info参数的设置:在info中用到的参数都在server的专门的配置文件中(最好以parma)结尾 下面的GLOBAl就是全局的,$开头的是系统级变量,$$开头的变量是自定义变量。如果是在session中或者mapping中用到的变量就是局部变量,那就把global换成对应的session或者mapping名字。
[GLOBAL] $Par
- python 解析unicode字符串为utf8编码字符串
酷的飞上天空
unicode
php返回的json字符串如果包含中文,则会被转换成\uxx格式的unicode编码字符串返回。
在浏览器中能正常识别这种编码,但是后台程序却不能识别,直接输出显示的是\uxx的字符,并未进行转码。
转换方式如下
>>> import json
>>> q = '{"text":"\u4
- Hibernate的总结
永夜-极光
Hibernate
1.hibernate的作用,简化对数据库的编码,使开发人员不必再与复杂的sql语句打交道
做项目大部分都需要用JAVA来链接数据库,比如你要做一个会员注册的 页面,那么 获取到用户填写的 基本信后,你要把这些基本信息存入数据库对应的表中,不用hibernate还有mybatis之类的框架,都不用的话就得用JDBC,也就是JAVA自己的,用这个东西你要写很多的代码,比如保存注册信
- SyntaxError: Non-UTF-8 code starting with '\xc4'
随便小屋
python
刚开始看一下Python语言,传说听强大的,但我感觉还是没Java强吧!
写Hello World的时候就遇到一个问题,在Eclipse中写的,代码如下
'''
Created on 2014年10月27日
@author: Logic
'''
print("Hello World!");
运行结果
SyntaxError: Non-UTF-8
- 学会敬酒礼仪 不做酒席菜鸟
aijuans
菜鸟
俗话说,酒是越喝越厚,但在酒桌上也有很多学问讲究,以下总结了一些酒桌上的你不得不注意的小细节。
细节一:领导相互喝完才轮到自己敬酒。敬酒一定要站起来,双手举杯。
细节二:可以多人敬一人,决不可一人敬多人,除非你是领导。
细节三:自己敬别人,如果不碰杯,自己喝多少可视乎情况而定,比如对方酒量,对方喝酒态度,切不可比对方喝得少,要知道是自己敬人。
细节四:自己敬别人,如果碰杯,一
- 《创新者的基因》读书笔记
aoyouzi
读书笔记《创新者的基因》
创新者的基因
创新者的“基因”,即最具创意的企业家具备的五种“发现技能”:联想,观察,实验,发问,建立人脉。
第一部分破坏性创新,从你开始
第一章破坏性创新者的基因
如何获得启示:
发现以下的因素起到了催化剂的作用:(1) -个挑战现状的问题;(2)对某项技术、某个公司或顾客的观察;(3) -次尝试新鲜事物的经验或实验;(4)与某人进行了一次交谈,为他点醒
- 表单验证技术
百合不是茶
JavaScriptDOM对象String对象事件
js最主要的功能就是验证表单,下面是我对表单验证的一些理解,贴出来与大家交流交流 ,数显我们要知道表单验证需要的技术点, String对象,事件,函数
一:String对象;通常是对字符串的操作;
1,String的属性;
字符串.length;表示该字符串的长度;
var str= "java"
- web.xml配置详解之context-param
bijian1013
javaservletweb.xmlcontext-param
一.格式定义:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>contextConfigLocationValue></param-value>
</context-param>
作用:该元
- Web系统常见编码漏洞(开发工程师知晓)
Bill_chen
sqlPHPWebfckeditor脚本
1.头号大敌:SQL Injection
原因:程序中对用户输入检查不严格,用户可以提交一段数据库查询代码,根据程序返回的结果,
获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。
本质:
对于输入检查不充分,导致SQL语句将用户提交的非法数据当作语句的一部分来执行。
示例:
String query = "SELECT id FROM users
- 【MongoDB学习笔记六】MongoDB修改器
bit1129
mongodb
本文首先介绍下MongoDB的基本的增删改查操作,然后,详细介绍MongoDB提供的修改器,以完成各种各样的文档更新操作 MongoDB的主要操作
show dbs 显示当前用户能看到哪些数据库
use foobar 将数据库切换到foobar
show collections 显示当前数据库有哪些集合
db.people.update,update不带参数,可
- 提高职业素养,做好人生规划
白糖_
人生
培训讲师是成都著名的企业培训讲师,他在讲课中提出的一些观点很新颖,在此我收录了一些分享一下。注:讲师的观点不代表本人的观点,这些东西大家自己揣摩。
1、什么是职业规划:职业规划并不完全代表你到什么阶段要当什么官要拿多少钱,这些都只是梦想。职业规划是清楚的认识自己现在缺什么,这个阶段该学习什么,下个阶段缺什么,又应该怎么去规划学习,这样才算是规划。
- 国外的网站你都到哪边看?
bozch
技术网站国外
学习软件开发技术,如果没有什么英文基础,最好还是看国内的一些技术网站,例如:开源OSchina,csdn,iteye,51cto等等。
个人感觉如果英语基础能力不错的话,可以浏览国外的网站来进行软件技术基础的学习,例如java开发中常用的到的网站有apache.org 里面有apache的很多Projects,springframework.org是spring相关的项目网站,还有几个感觉不错的
- 编程之美-光影切割问题
bylijinnan
编程之美
package a;
public class DisorderCount {
/**《编程之美》“光影切割问题”
* 主要是两个问题:
* 1.数学公式(设定没有三条以上的直线交于同一点):
* 两条直线最多一个交点,将平面分成了4个区域;
* 三条直线最多三个交点,将平面分成了7个区域;
* 可以推出:N条直线 M个交点,区域数为N+M+1。
- 关于Web跨站执行脚本概念
chenbowen00
Web安全跨站执行脚本
跨站脚本攻击(XSS)是web应用程序中最危险和最常见的安全漏洞之一。安全研究人员发现这个漏洞在最受欢迎的网站,包括谷歌、Facebook、亚马逊、PayPal,和许多其他网站。如果你看看bug赏金计划,大多数报告的问题属于 XSS。为了防止跨站脚本攻击,浏览器也有自己的过滤器,但安全研究人员总是想方设法绕过这些过滤器。这个漏洞是通常用于执行cookie窃取、恶意软件传播,会话劫持,恶意重定向。在
- [开源项目与投资]投资开源项目之前需要统计该项目已有的用户数
comsci
开源项目
现在国内和国外,特别是美国那边,突然出现很多开源项目,但是这些项目的用户有多少,有多少忠诚的粉丝,对于投资者来讲,完全是一个未知数,那么要投资开源项目,我们投资者必须准确无误的知道该项目的全部情况,包括项目发起人的情况,项目的维持时间..项目的技术水平,项目的参与者的势力,项目投入产出的效益.....
- oracle alert log file(告警日志文件)
daizj
oracle告警日志文件alert log file
The alert log is a chronological log of messages and errors, and includes the following items:
All internal errors (ORA-00600), block corruption errors (ORA-01578), and deadlock errors (ORA-00060)
- 关于 CAS SSO 文章声明
denger
SSO
由于几年前写了几篇 CAS 系列的文章,之后陆续有人参照文章去实现,可都遇到了各种问题,同时经常或多或少的收到不少人的求助。现在这时特此说明几点:
1. 那些文章发表于好几年前了,CAS 已经更新几个很多版本了,由于近年已经没有做该领域方面的事情,所有文章也没有持续更新。
2. 文章只是提供思路,尽管 CAS 版本已经发生变化,但原理和流程仍然一致。最重要的是明白原理,然后
- 初二上学期难记单词
dcj3sjt126com
englishword
lesson 课
traffic 交通
matter 要紧;事物
happy 快乐的,幸福的
second 第二的
idea 主意;想法;意见
mean 意味着
important 重要的,重大的
never 从来,决不
afraid 害怕 的
fifth 第五的
hometown 故乡,家乡
discuss 讨论;议论
east 东方的
agree 同意;赞成
bo
- uicollectionview 纯代码布局, 添加头部视图
dcj3sjt126com
Collection
#import <UIKit/UIKit.h>
@interface myHeadView : UICollectionReusableView
{
UILabel *TitleLable;
}
-(void)setTextTitle;
@end
#import "myHeadView.h"
@implementation m
- N 位随机数字串的 JAVA 生成实现
FX夜归人
javaMath随机数Random
/**
* 功能描述 随机数工具类<br />
* @author FengXueYeGuiRen
* 创建时间 2014-7-25<br />
*/
public class RandomUtil {
// 随机数生成器
private static java.util.Random random = new java.util.R
- Ehcache(09)——缓存Web页面
234390216
ehcache页面缓存
页面缓存
目录
1 SimplePageCachingFilter
1.1 calculateKey
1.2 可配置的初始化参数
1.2.1 cach
- spring中少用的注解@primary解析
jackyrong
primary
这次看下spring中少见的注解@primary注解,例子
@Component
public class MetalSinger implements Singer{
@Override
public String sing(String lyrics) {
return "I am singing with DIO voice
- Java几款性能分析工具的对比
lbwahoo
java
Java几款性能分析工具的对比
摘自:http://my.oschina.net/liux/blog/51800
在给客户的应用程序维护的过程中,我注意到在高负载下的一些性能问题。理论上,增加对应用程序的负载会使性能等比率的下降。然而,我认为性能下降的比率远远高于负载的增加。我也发现,性能可以通过改变应用程序的逻辑来提升,甚至达到极限。为了更详细的了解这一点,我们需要做一些性能
- JVM参数配置大全
nickys
jvm应用服务器
JVM参数配置大全
/usr/local/jdk/bin/java -Dresin.home=/usr/local/resin -server -Xms1800M -Xmx1800M -Xmn300M -Xss512K -XX:PermSize=300M -XX:MaxPermSize=300M -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=5 -
- 搭建 CentOS 6 服务器(14) - squid、Varnish
rensanning
varnish
(一)squid
安装
# yum install httpd-tools -y
# htpasswd -c -b /etc/squid/passwords squiduser 123456
# yum install squid -y
设置
# cp /etc/squid/squid.conf /etc/squid/squid.conf.bak
# vi /etc/
- Spring缓存注解@Cache使用
tom_seed
spring
参考资料
http://www.ibm.com/developerworks/cn/opensource/os-cn-spring-cache/
http://swiftlet.net/archives/774
缓存注解有以下三个:
@Cacheable @CacheEvict @CachePut
- dom4j解析XML时出现"java.lang.noclassdeffounderror: org/jaxen/jaxenexception"错误
xp9802
java.lang.NoClassDefFoundError: org/jaxen/JaxenExc
关键字: java.lang.noclassdeffounderror: org/jaxen/jaxenexception
使用dom4j解析XML时,要快速获取某个节点的数据,使用XPath是个不错的方法,dom4j的快速手册里也建议使用这种方式
执行时却抛出以下异常:
Exceptio