zoukankan      html  css  js  c++  java
  • Jackson解析XML

    使用Jackson

    maven项目的pom.xml依赖

            <dependency>
    	  <groupId>com.fasterxml.jackson.dataformat</groupId>
    	  <artifactId>jackson-dataformat-xml</artifactId>
    	  <version>2.9.0</version>
    	</dependency>
    	<dependency>
    	  <groupId>com.fasterxml.woodstox</groupId>
    	  <artifactId>woodstox-core</artifactId>
    	  <version>5.1.0</version>
    	</dependency>    
    

      

    User.java

    public class User {
    	private int id;
    	private String username;
    	private String sex;
    	private String birthday;
    	private String address;
    	public int getId() {
    		return id;
    	}
    	public void setId(int id) {
    		this.id = id;
    	}
    	public String getUsername() {
    		return username;
    	}
    	public void setUsername(String username) {
    		this.username = username;
    	}
    	public String getSex() {
    		return sex;
    	}
    	public void setSex(String sex) {
    		this.sex = sex;
    	}
    	public String getBirthday() {
    		return birthday;
    	}
    	public void setBirthday(String birthday) {
    		this.birthday = birthday;
    	}
    	public String getAddress() {
    		return address;
    	}
    	public void setAddress(String address) {
    		this.address = address;
    	}
    	@Override
    	public String toString() {
    		return "User [id=" + id + ", username=" + username + ", sex=" + sex + ", birthday=" + birthday + ", address="
    				+ address + "]";
    	}
    	public User() {
    	}
    	public User(int id, String username, String sex, String birthday, String address) {
    		super();
    		this.id = id;
    		this.username = username;
    		this.sex = sex;
    		this.birthday = birthday;
    		this.address = address;
    	}
    }
    

      

    Jackson.java

     POJO转为XML

    public static void jacksonBean2XML() throws JsonProcessingException{
    //		JacksonXmlModule module = new JacksonXmlModule();
    //		module.setDefaultUseWrapper(false);
    		
    		XmlMapper xmlMapper = new XmlMapper();
    		xmlMapper.setDefaultUseWrapper(false);
    		User user=new User(1,"lucas","nan","2019-10-01","上海");
    		String xml=xmlMapper.writeValueAsString(user);
    		System.out.println(xml);
    	}
    

      

    返回

    <User><id>1</id><username>lucas</username><sex>nan</sex><birthday>2019-10-01</birthday><address>上海</address></User>
    

      

    XML转为POJO

    public static void jacksonXML2Bean() throws JsonParseException, JsonMappingException, IOException{
    //		JacksonXmlModule module = new JacksonXmlModule();
    //		module.setDefaultUseWrapper(false);
    		XmlMapper xmlMapper = new XmlMapper();
    		xmlMapper.setDefaultUseWrapper(false);
    		//自动忽略无法对应pojo的字段
    		xmlMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
    		User user=xmlMapper.readValue("<User><id>1</id><username>lucas</username><sex>nan</sex><birthday>2019-10-01</birthday><address>上海</address></User>", User.class);
    		System.out.println(user);
    	}
    

      

    返回

    User [id=1, username=lucas, sex=nan, birthday=2019-10-01, address=上海]
    

      

  • 相关阅读:
    Ubuntu下systemd服务的配置
    编译压缩代码 MFCompress-src-1.01 :对‘***’未定义的引用
    德尔福 基础
    德尔福 XE5 安卓权限设置
    德尔福 XE5 安卓调试
    复制任意文件或文件夹到剪贴板
    无法完成安装:'Cannot access storage file '/
    Centos7.4安装kvm虚拟机(使用virt-manager管理)
    MSYS2 使用
    线程
  • 原文地址:https://www.cnblogs.com/1906859953Lucas/p/10751078.html
Copyright © 2011-2022 走看看