Dom4j解析XML入门,并解析含有相同节点

@[Dom4j解析XML入门,并解析含有相同节点]

public String ClientInformation() {
//XML样式

	String xml="";
	xml="<Request>"
						+ "<NAME>张三</NAME>"     
					    + "<IDCARD>4fa62a64f87240b4b81ecedb15cd88ec</IDCARD>"
					    + "<PHONE>14719728XXXX</PHONE>"
					    + "<EQM_NAME>9号门MRI</EQM_NAME>"
					    + "<EQM_CODE>9号门MRI</EQM_CODE>"
					    + "<ROOM>FSK8</ROOM>"
					    + "<REGION>负一楼MR区</REGION>"
					    + "<ITEMLIST>"
					    + "<ITEM>"
					    + "<ITEM_NAME>左臂|增强</ITEM_NAME>"
					    + "<ITEM_CODE>3|101</ITEM_CODE>"
					    + "</ITEM>"
					    + "<ITEM>"
					    + "<ITEM_NAME>右臂|增强</ITEM_NAME>"//
					    + "<ITEM_CODE>3|102</ITEM_CODE>"//
					    + "</ITEM>"//
					    + "<ITEM>"//
					    + "<ITEM_NAME>左腿|增强</ITEM_NAME>"//
					    + "<ITEM_CODE>132</ITEM_CODE>"//
					    + "</ITEM>"//
					    + "</ITEMLIST>"//
					    + "<SEEDATE>2019-01-15</SEEDATE>"
					    + "<SJFD>09:00-09:12</SJFD>"
					    + "<HISID>1005405077</HISID>"
					    + "</Request>";
		//解析XML			    
	
	Document doc = null;  
	String itemcode     = "";
	String clientname   = null;
	String id           = null;
	String phone        = null;
	String ename        = null;
	String ecode        = null;
	String room         = null;
	String region       = null;
	String checktime    = null;
	String timeseparate = null;
	String hisID        = null;
	try {
		
		doc = DocumentHelper.parseText(xml);
		Element root = doc.getRootElement();			
		//开始解析
		clientname   = root.element("NAME").getText();
	    id           = root.element("IDCARD").getText();
		phone        = root.element("PHONE").getText();
		ename        = root.element("EQM_NAME").getText();
		ecode        = root.element("EQM_CODE").getText();
		room         = root.element("ROOM").getText();
		region       = root.element("REGION").getText();
		checktime    = root.element("SEEDATE").getText();
		timeseparate = root.element("SJFD").getText();
		hisID        = root.element("HISID").getText();
		
		//当有相同节点时,找到根节点(Request)-->子节点(ITEMLIST)
		
		List<Element> item  = doc.selectNodes("Request/ITEMLIST/ITEM");
		if(item != null && item.size() > 1) {		//当list长度大于1时,说明至少有两个相同节点.循环遍历		
			 for(Iterator it = item.iterator();it.hasNext();){ 
				 Element elment = (Element)it.next();
				 Element icode = elment.element("ITEM_CODE");
				 itemcode =itemcode+icode.getText()+",";				 
			 }
			 if(itemcode.length()>0) {
					itemcode = itemcode.substring(0, itemcode.length()-1);	
				}
		}
		if(item.size() == 1) {
			itemcode =root.element("ITEM_CODE").getText();						
		}	
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值