XML解析
根据提供的patient.xml文件,获取xml文件中机构名称、患者本地ID、姓名、出生日期、身份证号。
解析框架不限,如dom4j,jdom, sax, jackson等



 <!-- patient.xml -->

<?xml version="1.0" encoding="UTF-8"?>
<DATA>
    <!-- 消息ID -->
    <MSG_ID>836A741B5A244D0BE053C40810ACE7BB</MSG_ID>
    <!-- 机构编码 -->
    <ORG_CODE>1221000042243630Q</ORG_CODE>
    <!-- 机构名称 -->
    <ORG_NAME>XX医科大学第一附属医院</ORG_NAME>
    <!-- 域代码 -->
    <DOMAIN_ID>01</DOMAIN_ID>
    <!-- 患者本地ID -->
    <LOCAL_ID>1000001</LOCAL_ID>
    <!-- 门诊号 -->
    <OUTPATIENT_NO>1000001</OUTPATIENT_NO>
    <!-- 住院号 -->
    <INPATIENT_NO/>
    <!-- 姓名 -->
    <PATIENT_NAME>测试人员姓名</PATIENT_NAME>
    <!-- 性别代码 -->
    <GENDER_CODE>1</GENDER_CODE>
    <!-- 性别名称 -->
    <GENDER_NAME>男性</GENDER_NAME>
    <!-- 出生日期 -->
    <BIRTH_DATE>19900909</BIRTH_DATE>
    <!-- 身份证号 -->
    <SOCIAL_NO>110101199009091234</SOCIAL_NO>
    <!-- 联系电话 -->
    <TELECOM>13412345678</TELECOM>
    <!-- 邮箱 -->
    <EMAIL>123@qq.com</EMAIL>
</DATA>


下面是效果和代码截图

Java使用DOM方式解析xml文件_DOM方式解析xml


下面是具体代码

package com.xxx.test;

import java.io.IOException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;

/**
* 用DOM方式解析patient.xml文件
* @author fd
* @Date xxx
* 需求:获取patient.xml文件中机构名称、患者本地ID、姓名、出生日期、身份证号。
* 机构名称:ORG_NAME
* 患者本地ID:LOCAL_ID
* 姓名:PATIENT_NAME
* 出生日期:BIRTH_DATE
* 身份证号:SOCIAL_NO
*/
public class ReadXmlByDom {

public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException{

// 1.建立DocumentBuilderFactor,用于获得DocumentBuilder对象:
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
// 2.建立DocumentBuidler:
DocumentBuilder builder = factory.newDocumentBuilder();
// 3.建立Document对象,获取树的入口:
Document doc = builder.parse("src/resouse/patient.xml");
// 4.建立NodeList:
NodeList node = doc.getElementsByTagName("DATA");
// 5.进行xml信息获取
for(int i=0;i<node.getLength();i++){

Element e = (Element)node.item(i);
System.out.println("机构名称:" + e.getElementsByTagName("ORG_NAME").item(0).getFirstChild().getNodeValue());
System.out.println("患者本地ID:" + e.getElementsByTagName("LOCAL_ID").item(0).getFirstChild().getNodeValue());
System.out.println("姓名:" + e.getElementsByTagName("PATIENT_NAME").item(0).getFirstChild().getNodeValue());
System.out.println("出生日期:" + e.getElementsByTagName("BIRTH_DATE").item(0).getFirstChild().getNodeValue());
System.out.println("身份证号:" + e.getElementsByTagName("SOCIAL_NO").item(0).getFirstChild().getNodeValue());

}
}
}