仓酷云

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

[学习教程] 来看Java编程中使用dom4j轻松地处置XML文档

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

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

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

x
C#跟java类似,但是在跨平台方面理论上可以跨平台,实际上应用不大,执行性能优于java,跟C++基本一致,但是启动速度还是慢.代码安全,但容易性能陷阱.
dom4j是Java平台中一个复杂易用的XML处置工具,它利用的是Java的Collections架构,供应了对DOM,SAX,JAXP的完全撑持。
1.创立新的XML文档
importorg.dom4j.Document;
importorg.dom4j.DocumentHelper;
importorg.dom4j.Element;
publicclassUsers{
publicDocumentcreateDocument(){
Documentdocument=DocumentHelper.createDocument();
Elementroot=document.addElement("users");
Elementme=root.addElement("user")
.addAttribute("userid","sucode")
.addAttribute("username","EricYu")
.addText("myself");
Elementme=root.addElement("user")
.addAttribute("userid","scottl")
.addAttribute("username","ScottLong")
.addText("FreeBSDleader");
returndocument;
}
}
以上代码创立了以下的XML文档:
<users>
<useruserid="sucode"username="EricYu">myself</user>
<useruserid="scottl"username="ScottLong">FreeBSDleader</user>
</users>
2.XML文档与字符串之间的互相转换
团体对照喜好的一个dom4j特征就是它供应了十分烦琐的办法将XML文档转换为XML格局的字符串。因为Document,Element,Attribute都承继了Node接口,以是他们都供应了asXML()办法,该办法前往节点的XML格局形貌。
Documentdocument=(newUsers()).createDocument();
Stringtext=document.asXML();
而将XML字符串转换为Document一样十分烦琐:
Documentdoc=DocumentHelper.parseText(text);
3.疾速遍历
假如必要处置很年夜的XML文档,为每一个轮回创立一个Iterator对象将带来很年夜的开支。这时候候保举利用疾速遍历(fastLooping):
publicvoidtreeWalk(Documentdocument){
treeWalk(document.getRootElement());
}
publicvoidtreeWalk(Elementelement){
for(inti=0,size=element.nodeCount();i<size;i++){
Nodenode=element.node(i);
if(nodeinstanceofElement){
treeWalk((Element)node);
}
else{
//详细营业代码
}
}
}
4.利用XPath
在dom4j中,XPath能够感化在文档或任何节点上。
//前往users下的一切user节点
Listuserlist=document.selectNodes("//users/user");
//前往users下的userid为sucode的user节点
Userme=(Element)document.selectSingleNode("//users/user[@userid=sucode]");
selectSingleNode前往切合前提的第一个节点,假如有多个节点婚配,前面的节点将被疏忽
5.将XML文档写进文件
我们常常要将XML文档以文件的情势保留。dom4j为XML文档写进文件体系供应了十分直不雅的办法:
FileWriterout=newFileWriter("users.xml");
document.write(out);
还能够经由过程XMLWriter指定输入时的格局:
importorg.dom4j.Document;
importorg.dom4j.io.OutputFormat;
importorg.dom4j.io.XMLWriter;
publicclassDOMTest{
publicvoidwrite(Documentdocument)throwsIOException{
//创立XMLWriter对象,方针文件users.xml,利用PrettyPrint格局
XMLWriterwriter=newXMLWriter(newFileWriter("users.xml"),
OutputFormat.createPrettyPrint());
//写文档
writer.write(document);
//封闭writer
writer.close();
}
}

唉!都是钱闹的1.Swing和.net网页编程开发比较------从市场份额看.net网页编程开发主要占据大部分的中小型和中型的的桌面开发,原因是它封装了很多工具
若相依 该用户已被删除
沙发
发表于 2015-1-21 08:42:00 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
兰色精灵 该用户已被删除
板凳
发表于 2015-1-21 23:54:07 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
活着的死人 该用户已被删除
地板
发表于 2015-1-30 22:54:28 | 只看该作者
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
灵魂腐蚀 该用户已被删除
5#
发表于 2015-2-2 22:02:04 | 只看该作者
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
深爱那片海 该用户已被删除
6#
发表于 2015-2-8 08:53:46 | 只看该作者
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
因胸联盟 该用户已被删除
7#
发表于 2015-2-25 06:04:02 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
乐观 该用户已被删除
8#
发表于 2015-3-6 10:51:08 | 只看该作者
如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
9#
发表于 2015-3-11 00:47:19 | 只看该作者
Java 编程语言的风格十分接近C、C++语言。
第二个灵魂 该用户已被删除
10#
发表于 2015-3-17 17:08:49 | 只看该作者
[url]http://www.jdon.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://nro.shtdu.edu.cn[/url]去下,安装上有什么问题,可以到论坛上去提问。
分手快乐 该用户已被删除
11#
发表于 2015-3-24 12:39:02 | 只看该作者
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-9-28 19:22

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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