问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

有哪位Java高手能解析出这个xml文件?用dom4j. 务必把每个节点,每个属性解析到位. 可以封装成java bean对象

发布网友 发布时间:2022-06-16 06:27

我来回答

3个回答

热心网友 时间:2023-11-01 21:08

..写了我10来分钟,我是直接打印出来的,你如果想封装成bean会非常麻烦,最少需要6个类,需要建立最少5个容器,

package com.myspring.test;

import java.io.InputStream;
import java.util.Iterator;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

public class CopyOfDom4jTest2 {
public static void main(String[] args) {
String xmlpass = "/temp1.xml";

//Dom4jTest.class 意思是创建了一个Dom4jTest的类 类型
Class c = CopyOfDom4jTest2.class;
InputStream ips = c.getResourceAsStream(xmlpass);
System.out.println(xmlpass);
//创建读取对象
SAXReader reader = new SAXReader();
try {
//document对象代表文件
Document document = reader.read(ips);

/**根节点*/
//读到文件读 根 节点 ...文件里面是什么读出来就是什么
Element beanss = document.getRootElement();//返回值element 里面是集合形式
//System.out.println("---------------beans1--------:"+beans1);
String Ver = beanss.attributeValue("Ver");
System.out.println("Gis_Res 节点 ver="+Ver);
/**一级节点*/
//获得beans内的下一级节点 bean节点 用迭代器迭代
Iterator<Element> beans1 = beanss.elementIterator();
while (beans1.hasNext()) {
Element bean1 = (Element) beans1.next(); //迭代出根节点的子节点一级节点 bean
System.out.println("节点名称-------"+bean1.getName()+"-----------------");
//获取一级节点bean节点的属性value的值,括号内传的是节点ID,如 "id"
String Version = bean1.attributeValue("Version");
System.out.println("Version="+Version);
/**二级节点*/
Iterator<Element> beans2 = bean1.elementIterator();//获取所有二级节点prop,开始迭代
while (beans2.hasNext()) {
Element bean2 = (Element) beans2.next();
System.out.println("节点名称-------"+bean2.getName()+"-----------------");
String Message = bean2.attributeValue("Message");
String SuccessCode = bean2.attributeValue("SuccessCode");
if (Message!=null) {
System.out.println("Message="+Message);
}
if (SuccessCode!=null) {
System.out.println("SuccessCode="+SuccessCode);
}
/**叁级节点*/
Iterator<Element> beans3 = bean2.elementIterator();//获取所有二级节点prop,开始迭代
while (beans3.hasNext()) {
Element bean3 = (Element) beans3.next();
System.out.println("节点名称-------"+bean3.getName()+"-----------------");
String countryCode = bean3.attributeValue("countryCode");
String accuracy = bean3.attributeValue("accuracy");
String uom = bean3.attributeValue("uom");
String value = bean3.attributeValue("value");
if (countryCode!=null)
System.out.println("countryCode="+countryCode);
if (accuracy!=null)
System.out.println("accuracy="+accuracy);
if (uom!=null)
System.out.println("uom="+uom);
if (value!=null)
System.out.println("value="+value);
/**四级节点*/
Iterator<Element> beans4 = bean3.elementIterator();//获取所有二级节点prop,开始迭代
while (beans4.hasNext()) {
Element bean4 = (Element) beans4.next();
System.out.println("节点名称-------"+bean4.getName()+"-----------------");
String isEncrypted = bean4.attributeValue("isEncrypted");
String isOriginalCoord = bean4.attributeValue("isOriginalCoord");
String type = bean4.attributeValue("type");
if (isEncrypted!=null)
System.out.println("isEncrypted="+isEncrypted);
if (isOriginalCoord!=null)
System.out.println("isOriginalCoord="+isOriginalCoord);
if (type!=null)
System.out.println("type="+type);
System.out.println(bean4.getText());
/**五级节点*/
Iterator<Element> beans5 = bean4.elementIterator();//获取所有二级节点prop,开始迭代
while (beans5.hasNext()) {
Element bean5 = (Element) beans5.next();
System.out.println("节点名称-------"+bean5.getName()+"-----------------");
String test5 = bean5.getText();
System.out.println(test5);
}
}
}
}
}

} catch (DocumentException e) {
e.printStackTrace();
}
}
}

热心网友 时间:2023-11-01 21:08

推荐你研究下castor这个框架吧....

热心网友 时间:2023-11-01 21:09

JXCB.
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
李卓彬工作简历 林少明工作简历 广东工业职业技术学院怎么样 郑德涛任职简历 唐新桂个人简历 土地入股的定义 ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 web service中typeMapping和beanMapping的区别 娱乐圈有多少明星实现了“冰墩墩”自由? 玉米种子中单509是哪个厂家的? 长玉509玉米种子是转基因吗 介绍一下中科玉509玉米栽培种植抗药性产量的特点 长玉509玉米种子是不是转基因的 玉米种子中单509是吉林哪个厂家的? 图三是一个等腰梯形,上底长为6,下底长为10,在图中画出三条线段,将他分成四个面积相等、形状相同的图形 一个等腰梯形,上底长为6,下底长为10,请在图中画出三条线段,将它分为4哥面积相等、形状相同的图形 冰墩墩太火,网友建议“一户一墩”,如何才能实现“冰墩墩”自由? 淘宝上那些10-30元左右的1-2年的迅雷VIP充值,30分钟内评价送1年。这些充值几乎全是假的。 酱汁肉怎样做? 冬奥会的冷知识有哪些? 电子合同与传统合同生效的方式不同在哪些地方?企业管理人会问答这个问题。 请问一下为什么我晚上睡觉的时候老是做梦 而且梦里梦到一些伤心的事 总是会哭醒? 求柯南最新片尾曲《your best friend》完整版的下载和歌词~~~~~帮忙啦O(∩_∩)O~ boy friend到现在为止所有的综艺 为什么重启手机 移动数据 自动打开? limb是什么意思啊?如何背? 手机为什么会跳出广告是哪个? 我有一个温馨的家 怎样去打造一个温馨快乐的家庭? 温馨一家二百字作文 一个1095558打过来的电话,要我卡号,说是提升额度,这个是不是诈骗电话! 1095580是不是邮政银行的号码 韩国有那几个男人唱的imsrry叫什么名字? 有人知道中信银行的全球签服务嘛?接到一个1095558的电话,自称中信银 imsrry.mydearfather.lcantlostyourphotosiloveyouv 仙剑五激活码,感谢感谢。我有个注册机但是装不了,支持正版之类的话我就不需要了。 为什么手机充电的时候移动数据会自动打开? 清馨雅居交通方便吗?应该怎么过去? 想知道: 齐齐哈尔 清馨雅居 在哪 清馨雅居周边环境怎么样?生活便利吗? 齐齐哈尔最高的楼房是哪个 从唐山到齐齐哈尔南浦清馨雅居发中通快递 1000克要多少运费 齐齐哈尔〈清馨雅居〉a区位置及公交?到运建小区公交 哪些明星实现了「冰墩墩自由」? 姓马辈份寅取名宝典 农历二00七年二月初六日寅时起名 壬辰年 五月 初一日 寅时起名女孩