Atitit xml框架类库选型 attilax总括

 

 

 

Atitit xml框架类库选型 attilax计算

Atitit 数据融合merge功效v3新特性.docx

 

 

 

1.1.
本子历史1

1. 1. XML类库足以分成2大类。标准的。那一个类库平日接口和兑现都以分手的1

1.2.
生成sql结果1

2.
Jdom 和dom4j1

1.3.
运用范例1

2.1. 5.1. jdom1

1.4.
着力代码1

2.2. 5.2. dom4j2

 

2.3.
上手度相比  jdom尤其简明些。。命名空间支撑,dom4j更好。。Jdom读取不到。。2

1.1. 本子历史

V2增加了replace部分。

V3 修改为 ON DUPLICATE KEY UPDATE,并贯彻多字段更新形式。

 

2.3.1.
Jdom范例2

1.2. 生成sql结果

5715,insert into
s_member(department_id,member_no,duties_id,duties_name,phone,name,department,unit_id,email,status)values('00026256','00608509','008','数控中央操作工','15874836489','姜海波','小车吊吊臂车间','1100','未知','1') ON DUPLICATE KEY UPDATEduties_id=VALUES(duties_id),duties_name=VALUES(duties_name),department=VALUES(department),unit_id=VALUES(unit_id),email=VALUES(email)

 

2.3.2.
D:\0workspace\atiplat_restapi\src\aaaPKg\dom4jReader.java3

1.3. 选择范例

 /atiplat_restapi/src/com/attilax/user/UserSync4jonlye.java

//
,department=values(department)

String mergeUpdateExpress = Sqlbuilder1

.getMergeUpdateExpress("duties_id,duties_id,duties_name,department,unit_id,email,department_id,phone");

String sql = Sqlbuilder1.toMergeSql_hiPerf(m, "s_member", mergeUpdateExpress);

System.out.println(n + "," + sql);

 

 

3.
结论 dom4j推荐3

1.4. 着力代码

/atiplat_restapi/src/com/attilax/sql/Sqlbuilder.java

 

public String getMergeUpdateExpress(String cols) {

String pre="ON DUPLICATE KEY UPDATE ";

String tmpl="@col@=VALUES(@col@)";

  

String[] col_arr=cols.trim().split(",");

int n=0;

for (String col : col_arr) {

n++;

if(n==1)

pre+=tmpl.replaceAll("@col@", col);

else

pre+=","+tmpl.replaceAll("@col@", col);

}

//,duties_id=VALUES(duties_id),duties_name=VALUES(duties_name),"

return pre;

}

 

public String toMergeSql_hiPerf(Map map, String table, String mergeExt) {

if(map.keySet().size()==0)

throw new RuntimeException("req_flted field is empty ");

MapfltedMap=fltMap_hiperf(map,table);

SqlKvUtil sqlKvUtil = new SqlKvUtil();

sqlKvUtil.prikey=prikey;

sqlKvUtil.ColumnsDefs=ColumnsDefs;

String[] a=sqlKvUtil.toInsertSqlKVPart(map);

String sql = "insert into @tab@(@cols@)values(@vals@) "+mergeExt;

sql = sql.replace("@tab@", table);

sql = sql.replace("@cols@", a[0]);

sql = sql.replace("@vals@", a[1]);

return sql;

}

 

 

 

 

小编:: 绰号:老哇的爪子claw of
Eagle 偶像破坏者Iconoclast image-smasher

捕鸟王"Bird Catcher
 kok  虔诚者Pious 宗教信仰捍卫者 Defender Of the
Faith. 卡拉卡拉红斗篷 Caracalla red cloak 万兽之王

简称:: 埃米尔 Attilax Akbar 埃米尔阿提拉克斯 Ake巴

姓名::埃米尔 Attilax Akbar bin Mahmud
bin  attila bin 所罗门 bin adam Al Rapanui 埃Mill 阿提拉克斯 Ake巴 本
马哈茂德 本 阿提拉 本 Solomon 本Adam  阿尔 拉帕努伊

常用名:艾提拉(艾龙),  EMAIL:1466519819@qq.com

 

 

职称:uke总部o2o监护人,全世界网格化项目开创者,

uke交友协会会长  uke捕猎协会会长 埃米尔 Uke部落首席大酋长,

 

uke宗教与知识融合事务部司长, uke宗教改进委员会副主席

uke制度与根本会议委员会司长,uke保安部首席大队长,uke制度检查委员会副会长,

 

uke 首席cto
  软件部门总裁 技术部副COO  研发部门首席执行官CEO  产品部副老板项目部副首席营业官   uke科技(science and technology)探究院省长uke软件培训大师

 

uke波莉尼西亚区大区连锁管事人汤加王国区域官员 uke克尔格伦群岛区连锁负责人,赖安群岛区连锁总管,uke布维岛和南George亚和南桑威奇群岛大区连锁总管

 Uke软件条件社团监护人长管事人长 Uke 数据库与存储标准化社团副会长

 

uke一生教育学校副校长
  Uke医院 与医高校方面的波特兰开拓者队

 uec高校校长, uecip图像处理机器视觉专业系主任  uke文档检索专业系总经理

Uke图像处理与机具视觉大学首席院长

Uke 户外运动协会负责人长
 度假村首席大区长   uke出版社编辑总编

 

转发请申明来源:attilax的专栏
 ?http://www.cnblogs.com/attilax/

--Atiend  v8

 

 

3.1.
参考资料3

 

 

1. 1. XML类库方可分为2大类。标准的。那个类库平常接口和兑现都以分其他

  第三类是有正式的。那些类库常常接口和落到实处都以分手的, 接口经常由局地团队签订, 完结由另一对团伙落到实处。 比如, SAX, 和 DOM。 SAX定义的是一个基于事件的XML流解析器, 没有概念模型。 而DOM定义的是3个文档对象的模子, 却绝非概念从XML文件到DOM对象的进度。 那些进度的接口是由JAXP定义的。 
  SAX的接口包是org.xml.sax, DOM的是org.w3c, JAXP是javax.xml.parsers。
  
  第2类的是非曲直标准的。 都以一些对规范不满的人另起炉灶的结果。 如,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范例

public class deadlineLimitReader {

 

public static void main(String[] args) throws JDOMExceptionIOException {

//
TODO Auto-generated
method stub

String f="D:\\0workspace\\atiplat_restapi\\src\\aaaPKg\\flow_design_cs.xml";

SAXBuilder builder=new SAXBuilder(false);

Document doc=builder.build(f);

Element books=doc.getRootElement();

Element definitions_eles=books.getChild("definitions");

Element   process_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

 

public class dom4jReader {

 

public static void main(String[] args) throws DocumentException {

String f="D:\\0workspace\\atiplat_restapi\\src\\aaaPKg\\flow_design_cs.xml";

    SAXReader reader = new SAXReader();           

       Document   document = reader.read(new File(f));  

       Element root = document.getRootElement(); 

       Element process_element=root.element("process");  

       Element element_def=root.element("definitions"); 

       Attribute attribute=process_element.attribute("deadlineLimit");  

       System.out.println(attribute.getValue());

 

}

3. 结论 dom4j推荐

 

3.1. 参考资料

简短利用JDOM解析XML 完整版 转 - BIGBIGBIG - 今日头条

动用Dom4j解析XML - redarmychen的专辑 - 博客频道 - CSDN.NET

XML解析-Dom4j和jdom(四)

  • suwu150的博客 - 博客频道 - CSDN.NET

atitit.XML类库选型及object 对象bean 跟json转换方案 - attilax的专辑 - 博客频道 - CSDN.NET.html

 

笔者:: 绰号:老哇的爪子claw of
Eagle 偶像破坏者Iconoclast image-smasher

捕鸟王"Bird Catcher
 kok  虔诚者Pious 宗教信仰捍卫者 Defender Of the
Faith. 卡拉卡拉红斗篷 Caracalla red cloak 万兽之王

简称:: 埃米尔 Attilax Akbar 埃米尔阿提拉克斯 Ake巴

姓名::Emir Attilax Akbar bin Mahmud
bin  attila bin Solomon bin adam Al Rapanui 埃米尔 阿提拉克斯 Ake巴 本
马哈茂德 本 阿提拉 本 Solomon 本Adam  阿尔 拉帕努伊

常用名:艾提拉(艾龙),  EMAIL:1466519819@qq.com

 

 

职称:uke总部o2o负责人,全世界网格化项目创办人,

uke交友协会会长  uke捕猎协会会长 埃米尔 Uke部落首席大酋长,

 

uke宗教与知识融合事务部委员长, uke宗教改进委员会副主席

uke制度与重点会议委员会部长,uke保安部首席大队长,uke制度检查委员会副会长,

 

uke 首席cto
  软件部门老板 技术部副老板  研发部门总裁老董  产品部副总监项目部副老董   uke科学技术商讨院参谋长uke软件培训大师

 

uke波利尼西亚区大区连锁总管汤加王国区域主任 uke克尔格伦群岛区连锁管事人,Ryan群岛区连锁管事人,uke布维岛和南格奥尔格e亚和南桑威奇群岛大区连锁管事人

 Uke软件条件协会负责人长总管长 Uke 数据库与存储标准化社团副会长

 

uke平生教育高校副校长
  Uke医院 与医高校方面的奠基者

 uec大学校长, uecip图像处理机器视觉专业系首席执行官  uke文档检索专业系COO

Uke图像处理与机具视觉大学首席市长

Uke 户外运动社团监护人长
 度假村首席大镇长   uke出版社编写总编

 

转发请注明来源:attilax的专辑
 ?http://www.cnblogs.com/attilax/

--Atiend  v8

 

 

相关文章

Comment ()
评论是一种美德,说点什么吧,否则我会恨你的。。。