Atitit xml框架类库选型 attilax总结
1. 1.XML类库可以分成2大类。标准的。这些类库通常接口和实现都是分开的1
2. Jdom和dom4j1
2.1. 5.1.jdom1
2.2. 5.2.dom4j2
2.3. 上手度比较jdom更加简洁些。。命名空间支持,dom4j更好。。Jdom读取不到。。2
2.3.1. Jdom范例2
2.3.2. D:\0workspace\atiplat_restapi\src\aaaPKg\dom4jReader.java3
3. 结论dom4j推荐3
3.1. 参考资料3
1.1.XML类库可以分成2大类。标准的。这些类库通常接口和实现都是分开的
第一类是有标准的。这些类库通常接口和实现都是分开的,接口通常由一些组织订立,实现由另一些组织实现。比如,SAX,和DOM。SAX定义的是一个基于事件的XML流解析器,没有定义模型。而DOM定义的是一个文档对象的模型,却没有定义从XML文件到DOM对象的过程。这个过程的接口是由JAXP定义的。
SAX的接口包是org.xml.sax,DOM的是org.w3c,JAXP是javax.xml.parsers。
第二类的是非标准的。都是一些对标准不满的人另起炉灶的结果。如,jdom,和dom4j。非标准的不一定代表不流行。dom4j就是现在最流行的XML库了。
2.Jdom和dom4j
2.1.5.1.jdom
百度为您找到相关结果约240,000个
4.JDOM生成和解析XML
为减少DOM、SAX的编码量,出现了JDOM;优点:20-80原则,极大减少了代码量。使用场合:要实现的功能简单,如解析、创建等,但在底层,JDOM还是使用SAX(最常用)、DOM、Xanan文档。
3.jdom,这个也是基于DOM实现的,但其API比DOM好用,更灵活,不是标准W3C
4
2.2.5.2.dom4j
百度为您找到相关结果约238,000个
DOM4J,原来是JDOM的分支,现独立开发,处于JDOM于SAX之间,即支持把XML放进内存,但可以读取时选择性删除DOM节点减少内存使用,所以也可以处理大数据XML文件,传说hibernate的配置文件也是基于dom4J(没看hibernate源码)
2.3.上手度比较jdom更加简洁些。。命名空间支持,dom4j更好。。Jdom读取不到。。
资料多寡,差不多
2.3.1.Jdom范例
publicclassdeadlineLimitReader{
publicstaticvoidmain(String[]args)throwsJDOMException,IOException{
//TODOAuto-generated method stub
Stringf="D:\\0workspace\\atiplat_restapi\\src\\aaaPKg\\flow_design_cs.xml";
SAXBuilderbuilder=newSAXBuilder(false);
Documentdoc=builder.build(f);
Elementbooks=doc.getRootElement();
Elementdefinitions_eles=books.getChild("definitions");
Elementprocess_ele=books.getChild("process");
System.out.println(process_ele.getAttributeValue("deadlineLimit"));
System.out.println("--f");
}
2.3.2.D:\0workspace\atiplat_restapi\src\aaaPKg\dom4jReader.java
publicclassdom4jReader{
publicstaticvoidmain(String[]args)throwsDocumentException{
Stringf="D:\\0workspace\\atiplat_restapi\\src\\aaaPKg\\flow_design_cs.xml";
SAXReaderreader=newSAXReader();
Documentdocument=reader.read(newFile(f));
Elementroot=document.getRootElement();
Elementprocess_element=root.element("process");
Elementelement_def=root.element("definitions");
Attributeattribute=process_element.attribute("deadlineLimit");
System.out.println(attribute.getValue());
}
3.结论dom4j推荐
3.1.参考资料
简单使用JDOM解析XML 完整版 转 - BIGBIGBIG - 博客园
使用Dom4j解析XML - redarmychen的专栏 - 博客频道 -
XML解析-Dom4j和jdom(四) - suwu150的博客 - 博客频道 -
atitit.XML类库选型及object 对象bean 跟json转换方案 - attilax的专栏 - 博客频道 - .html
作者::绰号:老哇的爪子claw of Eagle偶像破坏者Iconoclast image-smasher
捕鸟王"Bird Catcher kok虔诚者Pious宗教信仰捍卫者Defender Of the Faith.卡拉卡拉红斗篷Caracalla red cloak万兽之王
简称::Emir Attilax Akbar埃米尔 阿提拉克斯 阿克巴
全名::Emir Attilax Akbar bin Mahmud bin attila bin Solomon bin adam Al Rapanui埃米尔 阿提拉克斯 阿克巴 本 马哈茂德 本 阿提拉 本 所罗门 本亚当 阿尔 拉帕努伊
常用名:艾提拉(艾龙),EMAIL:1466519819@
头衔:uke总部o2o负责人,全球网格化项目创始人,
uke交友协会会长uke捕猎协会会长EmirUke部落首席大酋长,
uke宗教与文化融合事务部部长,uke宗教改革委员会副主席
uke制度与重大会议委员会委员长,uke保安部首席大队长,uke制度检查委员会副会长,
uke首席cto 软件部门总监 技术部副总监 研发部门总监主管 产品部副经理 项目部副经理uke科技研究院院长uke软件培训大师
uke波利尼西亚区大区连锁负责人 汤加王国区域负责人uke克尔格伦群岛区连锁负责人,莱恩群岛区连锁负责人,uke布维岛和南乔治亚和南桑威奇群岛大区连锁负责人
Uke软件标准化协会理事长理事长Uke数据库与存储标准化协会副会长
uke终身教育学校副校长 Uke医院 与医学院方面的创始人
uec学院校长,uecip图像处理机器视觉专业系主任 uke文档检索专业系主任
Uke图像处理与机器视觉学院首席院长
Uke户外运动协会理事长 度假村首席大村长 uke出版社编辑总编
转载请注明来源:attilax的专栏 ?/attilax/
--Atiendv8