xml解析实例

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/changjh1/article/details/63269565

<formExport version="2.0">
<summary id="3683445387728733607" name="formmain_0013"/>
          
<definitions/>
<values>
<column name="年度编号">
<value>&lt;![CDATA[0011]]&gt;</value>
</column>
<column name="申请时间">
<value>&lt;![CDATA[2014]]&gt;</value>
</column>
<column name="查档人姓名">
<value>&lt;![CDATA[佳佳]]&gt;</value>
</column>
<column name="单位名称">
<value>&lt;![CDATA[牛排家公司]]&gt;</value>
</column>
<column name="电话">
<value>&lt;![CDATA[000]]&gt;</value>
</column>
<column name="拟查询内容">
<value>&lt;![CDATA[卫生过关吗]]&gt;</value>
</column>
<column name="查档用途">
<value>&lt;![CDATA[为客户服务]]&gt;</value>
</column>
<column name="利用方式">
<value>&lt;![CDATA[偷偷检查]]&gt;</value>
</column>
<column name="查档单位领导意见">
<value>&lt;![CDATA[常]]&gt;</value>
</column>
<column name="相关部门审批意见">
<value>&lt;![CDATA[卫生部]]&gt;</value>
</column>
<column name="查询档案记录">
<value>&lt;![CDATA[1]]&gt;</value>
</column>
<column name="件数">
<value>&lt;![CDATA[1]]&gt;</value>
</column>
<column name="归还人">
<value>&lt;![CDATA[0]]&gt;</value>
</column>
<column name="总页数">
<value>&lt;![CDATA[1]]&gt;</value>
</column>
<column name="提供人">
<value>&lt;![CDATA[0]]&gt;</value>
</column>
<column name="归还时间">
<value>&lt;![CDATA[2014年]]&gt;</value>
</column>
<column name="接收人">
<value>&lt;![CDATA[0]]&gt;</value>
</column>
<column name="归档部门">
<value/>
</column>
</values>
<subForms/>
</formExport>
第一种方法: List<Element> list=root.elements();
    for(Element es:list){
      Element e=es.element("value");
      String name=e.getText();
      log.info("自己思路xml文件解析后的数据NAME:"+name);
    }

es的值: org.dom4j.tree.DefaultElement@3f7e6be2 [Element: <summary attributes: [org.dom4j.tree.DefaultAttribute@4dce2ff [Attribute: name id value "3683445387728733607"], org.dom4j.tree.DefaultAttribute@41bad5d7 [Attribute: name name value "formmain_0013"]]/>]

e的值:null

第二种方法:Document doc = DocumentHelper.parseText(xml);
    Element root = doc.getRootElement();
    List<Node> columns = root.selectNodes("values/column");
    for(Node column:columns){
      String value = column.valueOf("value");
      log.info("xml文件解析后的数据value:"+value);
      String name = column.selectSingleNode("@name").getText();
      log.info("xml文件解析后的数据name:"+name);
    }

columns 的值: [org.dom4j.tree.DefaultElement@20b8610d [Element: <column attributes: [org.dom4j.tree.DefaultAttribute@28ebad43 [Attribute: name name value "年度编号"]]/>], org.dom4j.tree.DefaultElement@8bc1eb2 [Element: <column attributes: [org.dom4j.tree.DefaultAttribute@76833c98 [Attribute: name name value "申请时间"]]/>], org.dom4j.tree.DefaultElement@21ff5bf1 [Element: <column attributes: [org.dom4j.tree.DefaultAttribute@3ed3ca7 [Attribute: name name value "查档人姓名"]]/>], org.dom4j.tree.DefaultElement@4c28f9f4 [Element: <column attributes: [org.dom4j.tree.DefaultAttribute@1632293c [Attribute: name name value "单位名称"]]/>], org.dom4j.tree.DefaultElement@37312d86 [Element: <column attributes: [org.dom4j.tree.DefaultAttribute@7da3d4b8 [Attribute: name name value "电话"]]/>], org.dom4j.tree.DefaultElement@ee2bc79 [Element: <column attributes: [org.dom4j.tree.DefaultAttribute@47c3b391 [Attribute: name name value "拟查询内容"]]/>], org.dom4j.tree.DefaultElement@1421966 [Element: <column attributes: [org.dom4j.tree.DefaultAttribute@1a91782f [Attribute: name name value "查档用途"]]/>], org.dom4j.tree.DefaultElement@44696349 [Element: <column attributes: [org.dom4j.tree.DefaultAttribute@62f570b5 [Attribute: name name value "利用方式"]]/>], org.dom4j.tree.DefaultElement@5fbaadd4 [Element: <column attributes: [org.dom4j.tree.DefaultAttribute@58ea6a65 [Attribute: name name value "查档单位领导意见"]]/>], org.dom4j.tree.DefaultElement@5ef3a7e [Element: <column attributes: [org.dom4j.tree.DefaultAttribute@1ce9293d [Attribute: name name value "相关部门审批意见"]]/>], org.dom4j.tree.DefaultElement@f92729f [Element: <column attributes: [org.dom4j.tree.DefaultAttribute@57a32cb5 [Attribute: name name value "查询档案记录"]]/>], org.dom4j.tree.DefaultElement@19cc4c06 [Element: <column attributes: [org.dom4j.tree.DefaultAttribute@33932b25 [Attribute: name name value "件数"]]/>], org.dom4j.tree.DefaultElement@2f5a497 [Element: <column attributes: [org.dom4j.tree.DefaultAttribute@4d08b705 [Attribute: name name value "归还人"]]/>], org.dom4j.tree.DefaultElement@7727d0c5 [Element: <column attributes: [org.dom4j.tree.DefaultAttribute@56fb72a0 [Attribute: name name value "总页数"]]/>], org.dom4j.tree.DefaultElement@162292fd [Element: <column attributes: [org.dom4j.tree.DefaultAttribute@37e02b65 [Attribute: name name value "提供人"]]/>], org.dom4j.tree.DefaultElement@5e41108b [Element: <column attributes: [org.dom4j.tree.DefaultAttribute@1a54605 [Attribute: name name value "归还时间"]]/>], org.dom4j.tree.DefaultElement@997f31b [Element: <column attributes: [org.dom4j.tree.DefaultAttribute@56d97688 [Attribute: name name value "接收人"]]/>], org.dom4j.tree.DefaultElement@5ef50743 [Element: <column attributes: [org.dom4j.tree.DefaultAttribute@28aff069 [Attribute: name name value "归档部门"]]/>]]


value的值:<![CDATA[0011]]>

name的值:年度编号

前一种方法适合规则xml文件,后一种更好


猜你喜欢

转载自blog.csdn.net/changjh1/article/details/63269565