使用JAXB/XJC生成JAXBElement
javaimport javax.xml.bind.JAXBContext;import javax.xml.bind.JAXBElement;import javax.xml.bind.Marshaller;import javax.xml.namespace.QName;public class JAXBExample { public static void main(String[] args) throws Exception { // 创建一个包装String的JAXBElement JAXBElement在这个例子中,我们创建了一个包装String的JAXBElement,使用了指定的XML命名空间和元素名称。然后,我们创建了JAXBContext,用于处理JAXB操作。接着,我们创建了Marshaller,并设置了格式化输出的属性。最后,我们将JAXBElement转换为XML并打印输出。处理null值的情况当我们需要处理null值的情况时,可以直接将JAXBElement的值设置为null。例如:element = new JAXBElement<>( new QName("http://example.com", "value"), String.class, "Hello World"); // 创建JAXBContext JAXBContext context = JAXBContext.newInstance(JAXBElement.class); // 创建Marshaller并设置格式化输出 Marshaller marshaller = context.createMarshaller(); marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); // 将JAXBElement转换为XML并打印输出 marshaller.marshal(element, System.out); }}
javaJAXBElement在这种情况下,生成的XML文档中将会包含一个空的value元素,表示值为null。通过使用JAXB/XJC生成JAXBElementelement = new JAXBElement<>( new QName("http://example.com", "value"), String.class, null);