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
    

     

  • 相关阅读:
    jquery,字符串转json对象,json对象转字符串
    Oracle,跳出游标循环
    oracle常用函数使用大全 Oracle除法(转)
    Oracle 数字操作。数字函数。mod(),trunc(),round(),ceil(),floor的使用
    Oracle 和sqlserver 字符串补齐
    js中数组的splice()方法
    详解JavaScript的splice()方法
    使用GDB命令行调试器调试C/C++程序
    代码为什么需要重构
    Spring事务管理要点总结
  • 原文地址:https://www.cnblogs.com/l412382979/p/9013156.html
Copyright © 2011-2022 走看看