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包:
解析起來很簡單