java对xml文件的读取

<?xml version="1.0" encoding="UTF-8"?>
<body>
    <names type="1">
        <name>侵身案件</name>
        <child>
            <name>故意杀人案</name>
            <type>0</type>
        </child>
        <child>
            <name>绑架案</name>
            <type>1</type>
        </child>
        <child>
            <name>其他侵犯人身权利案</name>
            <type>2</type>
        </child>
        <child>
            <name>过失致人死亡案</name>
            <type>3</type>
        </child>
        <child>
            <name>故意伤害案</name>
            <type>4</type>
        </child>
        <child>
            <name>强奸案</name>
            <type>5</type>
        </child>
        <child>
            <name>强制猥亵、侮辱妇女案</name>
            <type>6</type>
        </child>
        <child>
            <name>非法拘禁案</name>
            <type>7</type>
        </child>
        <child>
            <name>拐卖骗妇女儿童案</name>
            <type>8</type>
        </child>
        <child>
            <name>合计</name>
            <type>9</type>
        </child>
    </names>
    <names type="2">
        <name>侵财案件</name>
        <child>
            <name>敲诈勒索案</name>
            <type>10</type>
        </child>
        <child>
            <name>其他抢劫案</name>
            <type>11</type>
        </child>
        <child>
            <name>入户抢劫案</name>
            <type>12</type>
        </child>
        <child>
            <name>故意毁坏财物案</name>
            <type>13</type>
        </child>
        <child>
            <name>盗窃汽车案</name>
            <type>14</type>
        </child>
        <child>
            <name>扒窃案</name>
            <type>15</type>
        </child>
        <child>
            <name>盗窃自行车案</name>
            <type>16</type>
        </child>
        <child>
            <name>入室盗窃案</name>
            <type>17</type>
        </child>
        <child>
            <name>盗窃电动自行车案</name>
            <type>18</type>
        </child>
        <child>
            <name>其他盗窃案</name>
            <type>19</type>
        </child>
        <child>
            <name>抢夺案</name>
            <type>20</type>
        </child>
        <child>
            <name>诈骗案</name>
            <type>21</type>
        </child>
        <child>
            <name>盗窃摩托车案</name>
            <type>22</type>
        </child>
        <child>
            <name>拦路抢劫案</name>
            <type>23</type>
        </child>
        <child>
            <name>盗窃保险柜案</name>
            <type>24</type>
        </child>
        <child>
            <name>其他侵犯财产案    </name>
            <type>25</type>
        </child>
        <child>
            <name>合计</name>
            <type>26</type>
        </child>
    </names>
    <names type="3">
        <name>妨害社会管理</name>
        <child>
            <name>阻碍执行职务案</name>
            <type>27</type>
        </child>
        <child>
            <name>毒品类案件</name>
            <type>28</type>
        </child>
        <child>
            <name>其他妨害社会管理案</name>
            <type>29</type>
        </child>
        <child>
            <name>寻衅滋事案</name>
            <type>30</type>
        </child>
        <child>
            <name>介绍容留卖淫案</name>
            <type>31</type>
        </child>
        <child>
            <name>合计</name>
            <type>32</type>
        </child>
    </names>
    <names type="4">
        <name>危害公共安全案件</name>
        <child>
            <name>防火案</name>
            <type>33</type>
        </child>
        <child>
            <name>交通肇事案</name>
            <type>34</type>
        </child>
        <child>
            <name>破坏电力电信设施案</name>
            <type>35</type>
        </child>
        <child>
            <name>其他危害公共安全案</name>
            <type>36</type>
        </child>
        <child>
            <name>合计</name>
            <type>37</type>
        </child>
    </names>
    <names type="5">
        <name>经济类案件</name>
        <type>38</type>
    </names>
    <names type="6">
        <name>总计</name>
        <type>39</type>
    </names>
</body>
private List<Ictname> Readxmlist(String filename) {
        List<Ictname> list = new ArrayList<>();
        File file = new File(filename);
        SAXReader reader = new SAXReader();
        try {
            Document document = reader.read(file);
            Element root = document.getRootElement();
            List<Element> childElements = root.elements();
             for (Element child : childElements) {
                 Ictname c = new Ictname();
                 int t=Integer.parseInt(child.attributeValue("type"));
                 if(t==5){t=38;}if(t==6){t=39;}
                 c.setType(t);
                 c.setName(child.elementText("name"));
                 List<Element> nodelist = child.elements("child");
                 c.setLen(nodelist.size()+1);
                 if(nodelist.size()>0){
                     c.setChild(new ArrayList<Ictname>());
                     for (Element enode : nodelist) {
                         Ictname cc = new Ictname();
                         cc.setType(Integer.parseInt(enode.elementText("type")));
                         cc.setName(enode.elementText("name"));
                         c.getChild().add(cc);
                     }
                 }
                 list.add(c);
             }
        } catch (DocumentException e) {
            e.printStackTrace();
        }
        return list;
    }
时间: 2024-11-07 08:59:24

java对xml文件的读取的相关文章

Java中XML文件的读取与写入

表现:以  ".xml"为文件扩展名的文件: 存储:树形结构: 用途:存储以及传递信息:利用相同的XML文件将不同的系统联系起来: 在Java程序中如何获取XML文件的内容? 在Java程序中读取XML文件的过程也称为"解析XML文件": 解析的目的:获取节点名.节点值.属性名.属性值: 四种解析方式:DOM  SAX  DOM4J  JDOM java学习群669823128

用java新建xml文件和读取

//新建一个xml文档 private static void createXml(String path) throws UnsupportedEncodingException, FileNotFoundException, IOException { //创建根节点 Element rootElement = DocumentHelper.createElement("student"); rootElement.addAttribute("sno", &qu

java实现xml文件读取并保存到对象

首先浅聊一下解析xml的四种方式: 1.DOM方式:有缺点但是这个缺点却也是他的优点.下面详细介绍: 以树形的层次结构组织节点或信息片断集合,可以获得同一个文档中的多处不同数据.使用起来简单. 优点是:可以获得同一个文档中的多处不同数据,使用起来简单. 缺点是:需要加载整个xml文件,这对内存和资源有一定的消耗,如果是小型的xml文件可以尝试用 DOM方式解析. 经测试当用DOM方式读取大小为10M的文件时, 将会产生内存溢出异常. 2.SAX方式:在读取数据时检查数据,不用解析整个文档,因此不

android中XMl文件的读取

废话不多说了直接上代码: 新建一个Xml文件用于读取: test.xml <Languages cat="1"> <lan id="1"> <name>java</name> <ide>Eclipse</ide> </lan> <lan id="2"> <name>Swift</name> <ide>Xcode<

使用Pull解析器生成XML文件和读取xml文件

有些时候,我们需要生成一个XML文件,生成XML文件的方法有很多,如:可以只使用一个StringBuilder组拼XML内容,然后把内容写入到文件中:或者使用DOM API生成XML文件,或者也可以使用pull解析器生成XML文件,这里推荐大家使用Pull解析器. 一.布局界面 [html] view plaincopyprint? <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

Java解析XML文件的四种方法

[摘要] 可扩展标志语言(XML)在实现信息标准化.信息的交流与共享上有其独特的技术优势,因此受到了广泛的重视.本文先简单的介绍了XML基本知识,然后从XML应用入手总结了四种现今最常见的XML的解析方法,介绍了这四种方法的特点,其中包括优点与不足之处.最后给出了一个简单的案例来对这四种解析进行代码介绍. [关键字] XML文件,DOM,SAX,JDOM,DOM4J [引言] XML即可扩展标记语言(EXtensible Markup Language),是标准通用标记语言的子集,是一种用于标记

java解析xml文件四种方式介绍、性能比较和基本使用方法

一.介绍: 1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准.DOM是以层次结构组织的节点或信息片断的集合.这个层次结构允许开发人员在树中寻找特定信息.分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作.由于它是基于信息层次的,因而DOM被认为是基于树或基于对象的.DOM以及广义的基于树的处理具有几个优点.首先,由于树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构作出更改.它还可以在任何时候在树中上下导航,而不

自定义类库:Java转换xml文件转化pojo工具

一.之前java读取xml配置文件时,总是通过dom4j第三方库主动解析,最近发现可以通过jdk类库将xml转换pojo. 二.编写xml转化工具类XmlUtils package com.moy.demo.common.utils; import javax.xml.bind.JAXBContext; import javax.xml.bind.Unmarshaller; import java.io.InputStream; import java.io.Reader; import jav

用java操作XML文件(DOM解析方式)

XML 可扩展标记语言(Extensible Markup Language),是独立于软件和硬件的传输工具. XML的作用: (1)用作配置文件 (2)简化数据共享 (3)简化数据传输 XML DOM解析方式 在java工程中导入dom4j.jar包. (一)用java读XML文件 <1>创建SAXReader对象. RAXReader reader=new RAXReader(); <2>调用RAXReader的Document read(File file)方法,获取xml文