|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
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网页编程开发主要占据大部分的中小型和中型的的桌面开发,原因是它封装了很多工具 |
|