java 解析xml文件

本文介绍使用dom4j解析两种不同形式的xml文件信息
方式一:

xml例子
<?xml version="1.0" encoding="UTF-8"?>
<table>
	<tableName table="xxx">
		<bt>bt</bt>
		<zj>id</zj>
		<pxzd>lbsj</pxzd>
		<zw>zw</zw>
		<fjtable>xxx</fjtable>
		<fjgl>kpsjid</fjgl>
		<fjlj>cclj</fjlj>
		<fjm>wjm</fjm>
	</tableName>
</table>
java 代码
public static Map<String,TableXmlVo> getPlModelList(String xml) throws FileNotFoundException, DocumentException{
		SAXReader reader = new SAXReader();
		FileInputStream fis = null;
		Document doc = null;
		Map<String,TableXmlVo> tableMap= new HashMap<>();
		List<TableXmlVo> list = new ArrayList<TableXmlVo>();
		
				fis = new FileInputStream(new File(xml)) ;
				doc = reader.read(fis);
				Element rootElt = doc.getRootElement(); //获取根节点
				System.out.println("根节点:"+rootElt.getName());
				
				Iterator<Element> it = rootElt.elementIterator("tableName"); //获取根节点下的所有PL
				 Integer x=0;
				 while(it.hasNext()){
					 x++;
					 try {
							 Element elementPl = (Element)it.next();
							 String returnCode = elementPl.attributeValue("table");
							 TableXmlVo baseBean = (TableXmlVo)XmlUtils.fromXmlToBean(elementPl, TableXmlVo.class);
							 baseBean.setXsItems(xsItems);
							 //list.add(baseBean);
							 tableMap.put(returnCode, baseBean);
						 } catch (Exception e) {
							e.getStackTrace();
						 }
				 	}
				if(fis!=null){
					try {
						fis.close();
					} catch (Exception e2) {
						
					}
				}
			
		return tableMap;
	}
>方式二
xml例子
<?xml version="1.0" encoding="UTF-8"?>
<table>
	<tableName table="xxx">
		<ys xsmc="密xx" zd="mmdj"></ys>
		<ys xsmc="xxx" zd="lycc"></ys>
		<ys xsmc="xx" zd="cjr"></ys>
		<ys xsmc="修改人" zd="xgr"></ys>	
		<ys xsmc="xxx" zd="lydw"></ys>	
	</tableName>
</table>
java 代码
public static Map<String,TableXmlVo> getPlModelList(String xml) throws FileNotFoundException, DocumentException{
		SAXReader reader = new SAXReader();
		FileInputStream fis = null;
		Document doc = null;
		List<Map<String,Object>> list = new ArrayList<>();			
				fis = new FileInputStream(new File(xml)) ;
				doc = reader.read(fis);
				Element rootElt = doc.getRootElement(); //获取根节点
				System.out.println("根节点:"+rootElt.getName());

				List<Element> ysItems = rootElt.elements("ys");
				for (Element tmp : ysItems) {
					Map<String,Object> map = new HashMap<>();
					String xsmc=tmp.attribute("xsmc").getValue();
					String path=tmp.attributeValue("zd");
					map.put("xsmc", xsmc);
					map.put("zd", path);
					list.add(map);
				}				
				if(fis!=null){
					try {
						fis.close();
					} catch (Exception e2) {
						
					}
				}
			
		return list;
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值