zoukankan      html  css  js  c++  java
  • Unmarshaller解析xml文件

    参考地址:http://linbulu.iteye.com/blog/2295919

    Girl.xml文件

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>  
    <root>
    	<girl>
    		<name>lily</name>
    		<age>18</age>
    	</girl>
    	<girl>
    		<name>lucy</name>
    		<age>20</age>
    	</girl>
    	<girl>
    		<name>lisa</name>
    		<age>17</age>
    	</girl>
    </root>
    

      创建Girl.java类,另一种映射方法参考地址:https://blog.csdn.net/hongweigg/article/details/6764237

    import java.util.List;
    
    import javax.xml.bind.annotation.*;
    
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlRootElement(name = "root")
    public class Girl {
        @XmlElement(name = "name")
        private String name;
    
        @XmlElement(name = "age")
        private String age;
        
        @XmlElement(name = "girl")
        private List<Girl> girlList;
    
        public String toString() {
            StringBuilder sb = new StringBuilder();
            for (Girl girl : girlList) {
                sb.append(girl.toString());
            }
            return sb.toString();
        }
    
        public String getAge() {
            return age;
        }
    
        public void setAge(String age) {
            this.age = age;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public List<Girl> getGirlList() {
            return girlList;
        }
    
        public void setGirlList(List<Girl> girlList) {
            this.girlList = girlList;
        }
        
    }
    

      测试类

    import java.io.File;
    import java.util.List;
    import javax.xml.bind.*;
    
    public class TestUnm {
        public static void main(String[] args) {
            try {
                File file=new File("E:\app\Girl.xml");
                JAXBContext jaxbC = JAXBContext.newInstance(Girl.class);  
                Unmarshaller us = jaxbC.createUnmarshaller();  
                Girl girl=(Girl)us.unmarshal(file);  
                List<Girl> list=girl.getGirlList();
                for(Girl ele:list){
                    System.out.println("name:"+ele.getName());
                    System.out.println("age:"+ele.getAge());
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    

      控制台输出结果

    name:lily
    age:18
    name:lucy
    age:20
    name:lisa
    age:17
    

     

  • 相关阅读:
    clip-path
    box-reflect
    循环内click赋值跳转
    github pages 不能识别下划线开头的文件
    Telerik Reporting
    VS2015项目发布失败且没有错误提示
    kendo grid 过滤器
    kendo 月份选择
    kendo grid过滤
    odata连接现有数据库
  • 原文地址:https://www.cnblogs.com/l412382979/p/9013156.html
Copyright © 2011-2022 走看看