JAXB XML与对象转换

Java 里的 XML 转换,说简单也简单,说麻烦也真不省事。要是你经常跟配置文件、接口数据打交道,那把 XML 转成 Java 对象,或者反过来,就是逃不开的一步。

JAXB 的 Java 类绑定功能挺好用的,写好类,一调用marshal()unmarshal(),转换就搞定了。要自动生成 schema 也行,用xjc直接撸出来,省事。

像下面这段流程就是 JAXB 的典型套路:

JAXBContext context = JAXBContext.newInstance(User.class);
Unmarshaller unmarshaller = context.createUnmarshaller();
User user = (User) unmarshaller.unmarshal(new File("user.xml"));

如果你是那种更喜欢灵活操作 XML 结构的,DOM 解析也挺不错。它会把整个 XML 读进内存,变成树状结构,方便你一层层遍历,想怎么改就怎么改。不过哦,大文件下有点吃内存。

具体怎么选?看场景啦。结构稳定又要频繁转换的,用 JAXB 省心;结构复杂还得改节点的,DOM 更灵活。压缩包里应该两个方案都带了点 demo,抽空跑一跑,自己感受一下就知道了。

另外还有几个扩展的资源你也可以瞅瞅:JAXB 技术实现 XML 与 Java 对象互转这篇写得蛮细,XStream也挺受欢迎的,风格更轻量。

如果你平时也跟 XML 打交道比较多,这一套转换技能最好早点熟起来。熟了之后,接口数据、做配置解析都顺手多了。

rar 文件大小:8MB