如何创建一个简单的 jaxb Java 类来表示以下 xml
<rootelem>
<myelem name="abc" myatt="true"/>
<myelem name="def">
<Key value="newvalue"/>
</myelem>
<myelem name="xyz">
<Key value="42"/>
</myelem>
</rootelem>
可以有多个myelem
和每个myelem
可以包含多个key
我不想使用 xsd
这是一个基本示例:
import java.io.FileReader;
import java.util.List;
import javax.xml.bind.JAXB;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name="rootelem")
class RootElem {
List<MyElem> myelem;
}
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name="myelem")
class MyElem {
@XmlAttribute
String name;
@XmlAttribute
Boolean myatt;
@XmlElement(name="Key")
List<Key> keys;
}
@XmlAccessorType(XmlAccessType.FIELD)
class Key {
@XmlAttribute
String value;
}
public class Test1 {
public static void main(String[] args) throws Exception {
RootElem r = JAXB.unmarshal(new FileReader("test.xml"), RootElem.class);
System.out.println(r);
JAXB.marshal(r, System.out);
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)