您的位置:首页 > 其它

使用jdom解析xml字符串

2015-05-15 10:55 375 查看
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.Namespace;


StringReader read = new StringReader(strXml);
//创建新的输入源SAX 解析器将使用 InputSource 对象来确定如何读取 XML 输入
InputSource source = new InputSource(read);
//创建一个新的SAXBuilder
SAXBuilder sb = new SAXBuilder();
try {
//通过输入源构造一个Document
Document doc = sb.build(source);
//取的根元素
Element root = doc.getRootElement();
//输出根元素的名称(测试)
System.out.println(root.getName());
//得到根元素所有子元素的集合
List jiedian = root.getChildren();
List<Element> list = root.getChildren();
for(Element e :list){
System.out.println(e.getName());
System.out.println("emr_id:"+e.getAttributeValue("emr_id"));
System.out.println("title:"+e.getAttributeValue("title"));
}
//获得XML中的命名空间
Namespace ns = root.getNamespace();
Element et = null;
/*   for(int i=0;i<jiedian.size();i++){
et = (Element) jiedian.get(i);//循环依次得到子元素

System.out.println(et.getChild("emr_id",ns).getText());
System.out.println(et.getChild("title",ns).getText());
}*/

/*		               et = (Element) jiedian.get(0);
List zjiedian = et.getChildren();
System.out.println(zjiedian.size());
for(int j=0;j<zjiedian.size();j++){
Element xet = (Element) zjiedian.get(j);
System.out.println(xet.getName());
}*/
} catch (JDOMException e)
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}

解析的xml字符串为:

<root><row emr_id="415555_1_00010001" title="知情同意权告知书" template_id="" catalog_id="" emr_type="6" sort_code="1" create_time="2011/11/15 17:02:57" sign="黄琦" /><row emr_id="415555_1_00010002" title="产科通用模版" template_id="" catalog_id="" emr_type="2" sort_code="2" create_time="2011/11/15 17:08:36" sign="黄琦" /><row emr_id="415555_1_00010003" title="剖宫产术,子宫下段横切口术前谈话" template_id="" catalog_id="" emr_type="b" sort_code="3" create_time="2011/11/15 19:04:49" sign="黄琦" /><row emr_id="415555_1_00010004" title="剖宫产术,子宫下段横切口手术查对确认单" template_id="" catalog_id="" emr_type="b" sort_code="4" create_time="2011/11/15 19:06:01" sign="黄琦" /><row emr_id="415555_1_00010005" title="剖宫产术,子宫下段横切口手术风险评估单" template_id="" catalog_id="" emr_type="b" sort_code="5" create_time="2011/11/15 19:06:29" sign="黄琦" /><row emr_id="415555_1_00010006" title="输血治疗同意书" template_id="" catalog_id="" emr_type="6" sort_code="6" create_time="2011/11/15 19:11:29" sign="黄琦" /><row emr_id="415555_1_00010007" title="患者授权委托书" template_id="" catalog_id="" emr_type="6" sort_code="7" create_time="2011/11/15 19:13:07" sign="黄琦" /><row emr_id="415555_1_00010008" title="输血申请单" template_id="" catalog_id="" emr_type="6" sort_code="8" create_time="2011/11/15 19:13:27" sign="黄琦" /><row emr_id="415555_1_00010009" title="领血凭证" template_id="" catalog_id="" emr_type="6" sort_code="9" create_time="2011/11/15 19:16:31" sign="黄琦" /><row emr_id="415555_1_00010010" title="日常病程记录" template_id="" catalog_id="" emr_type="4" sort_code="10" create_time="2011/11/15 19:43:03" sign="黄琦" /><row emr_id="415555_1_00010012" title="剖宫产术,子宫下段横切口手术风险评估单" template_id="" catalog_id="" emr_type="b" sort_code="12" create_time="2011/11/15 20:26:17" sign="黄琦" /><row emr_id="415555_1_00010014" title="剖宫产术,子宫下段横切口手术记录" template_id="" catalog_id="" emr_type="b" sort_code="14" create_time="2011/11/15 21:46:29" sign="叶明珠" /><row emr_id="415555_1_00010016" title="出院记录" template_id="" catalog_id="" emr_type="3" sort_code="16" create_time="2011/11/16 10:49:26" sign="陈海啸" /></root>

导入的jdom的jar包:



解析起来很简单
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: