您可以执行以下操作:
车
注解可@XmlType
用于指定类型名称。
import javax.xml.bind.annotation.XmlType;
@XmlType(name="Car")
public class Car {
}
演示
只要 XML 元素的 Java 类型是,那么您的 JAXB 实现就会使用该属性Object
来限定元素。xsi:type
下面我们将利用一个实例JAXBElement
。
import javax.xml.bind.*;
import javax.xml.namespace.QName;
public class Demo {
public static void main(String[] args) throws Exception {
JAXBContext jc = JAXBContext.newInstance(Car.class);
Car car = new Car();
JAXBElement<Object> jaxbElement = new JAXBElement(new QName("transport"), Object.class, car);
Marshaller marshaller = jc.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
marshaller.marshal(jaxbElement, System.out);
}
}
输出
下面是运行演示代码的输出。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<transport xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Car"/>