XML和Java對象互轉實現


1、相關對象類

注意注解:

  • @XmlRootElement(name = "ROOT")
    表示XML的根節點
  • @XmlElement(name = "NAME")
    表示XML的子節點

package com.MyModel;  
  
import javax.xml.bind.annotation.XmlElement;  
import javax.xml.bind.annotation.XmlRootElement;  
  
  
@XmlRootElement(name = "ROOT")  
public class MyBeanXml {  
  
 private String name;  
    private String id;  
    private String age;  
  
    public String getName() {  
 return name;  
    }  
  
 @XmlElement(name = "NAME")  
 public void setName(String name) {  
 this.name = name;  
    }  
  
 public String getId() {  
 return id;  
    }  
  
 @XmlElement(name = "ID")  
 public void setId(String id) {  
 this.id = id;  
    }  
  
 public String getAge() {  
 return age;  
    }  
  
 @XmlElement(name = "AGE")  
 public void setAge(String age) {  
 this.age = age;  
    }  
  
  
}

2、測試方法Demo


package com.TestArch;  
  
import com.MyModel.MyBeanXml;  
import com.alibaba.fastjson.JSON;  
import lombok.SneakyThrows;  
  
import javax.xml.bind.JAXBContext;  
import javax.xml.bind.Marshaller;  
import javax.xml.bind.Unmarshaller;  
import java.io.StringReader;  
  
public class TestXML {  
 @SneakyThrows  
 public static void main(String args[]) {  
 MyBeanXml myBeanXml = new MyBeanXml();  
        myBeanXml.setAge("28");  
        myBeanXml.setId("01");  
        myBeanXml.setName("PHC");  
  
        // 對象轉 XML System.out.println("----------對象轉 XML-------------------");  
        JAXBContext jaxbContext = JAXBContext.newInstance(MyBeanXml.class);  
        Marshaller jaxbMarshaller = jaxbContext.createMarshaller();  
        // output pretty printed  
 jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);  
        jaxbMarshaller.marshal(myBeanXml, System.out);  
  
        // XML 字符串轉對象  
 String xmlStr = "<ROOT>\n" +  
                "    <AGE>28-Str</AGE>\n" +  
                "    <ID>01-Str</ID>\n" +  
                "    <NAME>PHC-Str</NAME>\n" +  
                "</ROOT>";  
        Unmarshaller u = jaxbContext.createUnmarshaller();  
        StringReader sr = new StringReader(xmlStr);  
        Object resp = u.unmarshal(sr);  
        System.out.println("----------XML 字符串轉對象-------------------");  
        System.out.println("" + JSON.toJSONString(resp));  
    }  
}

3、輸出結果

附:代碼在GitHub的提交

1、XML和對象的相關轉換; · NullTommy/hello@cac3504


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM