@[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();
}