先看 xml schema 约束
post.xsd
然后
JAXBContext factory = JAXBContext.newInstance(Post.class);
Schema schema = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI).newSchema(new File(path,"post.xsd"));
Marshaller ms = factory.createMarshaller();
Post post = new Post();
post.setAuthor("taoge");
//设置schema,验证合法性
ms.setSchema(schema);
ms.marshal(post, new File(path + "post.xml"));
System.out.println(post.getAuthor());
运行java程序
生成的xml如下
创建的 post 对象其 id == 0
所以会出现上述结果