永发信息网

XML用JAVA解析例子

答案:2  悬赏:80  手机版
解决时间 2021-02-17 18:18
XML用JAVA解析例子
最佳答案
用DOM4J 的JAR包可以解析

students>

崔卫兵
PC学院
62354666
男,1982年生,硕士,现就读于北京邮电大学

这是XML

引入DOM4J的包
程序
public void iterateWholeXML(String filename,HashMap hm){
SAXReader saxReader = new SAXReader();
try {
Document document = saxReader.read(new File(filename));
Element root = document.getRootElement();
// 用于记录学生编号的变量
int num=-1;
//遍历根结点(students)的所有孩子节点(肯定是student节点)
for ( Iterator iter = root.elementIterator(); iter.hasNext(); ) {
Element element = (Element) iter.next();
num++;
// 获取person节点的age属性的值
Attribute ageAttr=element.attribute("age");
if(ageAttr!=null){
String age = ageAttr.getValue();
if (age != null&&!age.equals("")) {
hm.put(element.getName() + "-"+ageAttr.getName()+ num, age);
} else {
hm.put(element.getName() + "-" +ageAttr.getName()+ num, "20");
}
}else{
hm.put(element.getName() + "-age"+ num, "20");
}
//遍历student结点的所有孩子节点(即name,college,telphone,notes),并进行处理
for ( Iterator iterInner = element.elementIterator(); iterInner.hasNext(); ) {
Element elementInner = (Element) iterInner.next();
if(elementInner.getName().equals("college")){
hm.put(elementInner.getName()+ num, elementInner.getText());
//获取college节点的leader属性的值
Attribute leaderAttr=elementInner.attribute("leader");
if(leaderAttr!=null){
String leader = leaderAttr.getValue();
if (leader != null&&!leader.equals("")) {
hm.put(elementInner.getName() + "-"+leaderAttr.getName()+ num, leader);
} else {
hm.put(elementInner.getName() + "-" +leaderAttr.getName()+ num, "leader");
}
}else {
hm.put(elementInner.getName() + "-leader"+ num, "leader");
}
}else{
hm.put(elementInner.getName()+ num, elementInner.getText());
}
}
} } catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
全部回答
用dom4j 的jar包可以解析 students>     <student age="25"><!--如果没有age属性,默认的为20-->     <name>崔卫兵</name>     <college>pc学院</college>     <telephone>62354666</telephone>     <notes>男,1982年生,硕士,现就读于北京邮电大学</notes>     </student>  </students>   这是xml 引入dom4j的包 程序

 public void iteratewholexml(string filename,hashmap<string,string> hm){   saxreader saxreader = new saxreader();   try {    document document = saxreader.read(new file(filename));    element root = document.getrootelement(); //   用于记录学生编号的变量    int num=-1;    //遍历根结点(students)的所有孩子节点(肯定是student节点)     for ( iterator iter = root.elementiterator(); iter.hasnext(); ) {     element element = (element) iter.next();     num++;     // 获取person节点的age属性的值     attribute ageattr=element.attribute("age");     if(ageattr!=null){     string age = ageattr.getvalue();     if (age != null&&!age.equals("")) {     hm.put(element.getname() + "-"+ageattr.getname()+ num, age);     } else {     hm.put(element.getname() + "-" +ageattr.getname()+ num, "20");     }     }else{     hm.put(element.getname() + "-age"+ num, "20");     }     //遍历student结点的所有孩子节点(即name,college,telphone,notes),并进行处理     for ( iterator iterinner = element.elementiterator(); iterinner.hasnext(); ) {     element elementinner = (element) iterinner.next();     if(elementinner.getname().equals("college")){     hm.put(elementinner.getname()+ num, elementinner.gettext());     //获取college节点的leader属性的值     attribute leaderattr=elementinner.attribute("leader");     if(leaderattr!=null){     string leader = leaderattr.getvalue();     if (leader != null&&!leader.equals("")) {     hm.put(elementinner.getname() + "-"+leaderattr.getname()+ num, leader);     } else {     hm.put(elementinner.getname() + "-" +leaderattr.getname()+ num, "leader");     }     }else {     hm.put(elementinner.getname() + "-leader"+ num, "leader");     }     }else{     hm.put(elementinner.getname()+ num, elementinner.gettext());     }     }     }

  } catch (documentexception e) {    // todo auto-generated catch block    e.printstacktrace();   }  }

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
俄式俯卧撑是不是需要强大的背部肌肉?
上海赛维干洗连锁店地址有知道的么?有点事想
进入户门看到灶怎样化解
车管所今年什么时候放假?
我爱你劳倩文 作一首藏头诗,谢谢
对《天朝田亩制度》和《资政新篇》的理解不正
猇亭区宜昌普丽缇莎美容SPA地址是什么,有没
大同银行北辰支行地址在什么地方,想过去办事
2016年哪个快递最快,是不是跨越速运?看广告
樟江印象城市花园一期南门(人行门)我想知道这
【柏树的叶子像什么】柏树的叶子冬天是什么颜
北京到榆林的火车到米脂停吗
乐享生活馆金惠路店在什么地方啊,我要过去处
(15分)阅读材料,回答下列问题。 材料一“
请教一个问题
推荐资讯
按照中国工程咨询协会的要求,工业项目可行性
判断题民族区域自治是以领土完整、国家统一为
三洋洗衣机老显示门锁是什么问题呢
瑞成百货在哪里啊,我有事要去这个地方
当别人弄不清事情的道理时,你会告诉他【 】
手机上怎么买LOL英雄
太原博大医院是正规医院吗?可以用医保不?
日语中薯片的几个口味如何翻译?如下↓
黄河上游与长江上游共同的水文特征是A.含沙量
魅族手机note3系统内存多少
论述有效的管理应如何运用激励
传奇炫舞家族将和布拉格家族合族是不是真的?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?