解析的文件:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type= 'text/xsl' href= '../xslt/Sentence.xslt'?>
<ZlEPR>
<Document 姓名="罗2" 病人ID="107255" 主页ID="2" 文件名="心电报告格式" 文件ID="7321347" 单位名="测试医院">
<Compend ID="0" Name="内容">
<Text NewLine="1">医院</Text>
<Text NewLine="1">心电图记录单</Text>
<Text NewLine="0"> 门诊号:</Text>
<Element Name="门诊号" NewLine="1">1002080066</Element>
<Text NewLine="0"> 住院号:</Text>
<Element Name="住院号" NewLine="1">201800964</Element>
<Text NewLine="1" />
<Text NewLine="1" />
</Compend>
<Compend Name="病人信息" ID="488517441">
<Text NewLine="1" />
<Text NewLine="0">姓名:</Text>
<Element Name="姓名" NewLine="0">罗2</Element>
<Text NewLine="0"> 性别:</Text>
<Element Name="性别" NewLine="0">女</Element>
<Text NewLine="0"> 年龄:</Text>
<Element Name="年龄" NewLine="0">26岁</Element>
<Text NewLine="1"> 心检号:</Text>
<Text NewLine="0">科室:</Text>
<Element Name="当前科室" NewLine="0">妇产科</Element>
<Text NewLine="0"> 床号:</Text>
<Element Name="当前床号" NewLine="0">9</Element>
<Text NewLine="1"> 复查时注明原心检号</Text>
<Text NewLine="1" />
</Compend>
<Compend Name="检查所见" ID="488517456">
<Text NewLine="1">韵律:窦律;心房率:82;心室率:82;轴向:电轴正常;PR间期:0.13;QRS波:0.08;QT间期:0.34
</Text>
</Compend>
<Compend Name="诊断建议" ID="488517460">
<Text NewLine="1">正常心电图
</Text>
</Compend>
<Compend Name="签名信息" ID="488517462">
<Text NewLine="0">报告日期:</Text>
<Element Name="当前日期" NewLine="0">2018年01月10日</Element>
<Text NewLine="1"> 签名:</Text>
<Text NewLine="1" />
</Compend>
</Document>
</ZlEPR>
使用输入输出流读取文件,然后使用Dom4J解析:
File file = new File("C:\\Users\\Administrator.WINDOWS-VK1LA9F\\Desktop\\新建文本文档.txt");
SAXReader read = new SAXReader();
Document document = read.read(file);
Element root = document.getRootElement();
// String res = null;
// String res3 = "";
// String res2 = "";
// String res4 = "";
// String s = "";
// @SuppressWarnings("unchecked")
// List<Element> list = root.element("Document").elements("Compend");
// for (Element doc : list) {
// List<Element> list2 = doc.elements("Element");
// if(list2.size()==0){
// List<Element> list3 = doc.elements("Text");
// for (Element ee : list3) {
// res2 = doc.attributeValue("Name")+":"+ee.getText();
// res4 = res4 +res2;
// }
// }
// for (Element ele : list2) {
// res = ele.attributeValue("Name")+":"+ele.getText();
// res3 =res3 + res;
// }
// s =res3+res4;
// }
// System.out.println(s);
System.out.println(root);
}
使用string的类型解析出的内容拼接成一段字符串。