Jackson解析XML
使用Jackson
maven项目的pom.xml依赖
1 2 3 4 5 6 7 8 9 10 | <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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | 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
1 2 3 4 5 6 7 8 9 10 | 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); } |
返回
1 | <User><id> 1 </id><username>lucas</username><sex>nan</sex><birthday> 2019 - 10 - 01 </birthday><address>上海</address></User> |
XML转为POJO
1 2 3 4 5 6 7 8 9 10 | 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); } |
返回
1 | User [id= 1 , username=lucas, sex=nan, birthday= 2019 - 10 - 01 , address=上海] |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧