gpt4 book ai didi

java - 从没有模式的 xml 创建 Jaxb 类

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:51:53 25 4
gpt4 key购买 nike

如何创建一个简单的 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);
}
}

关于java - 从没有模式的 xml 创建 Jaxb 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13589942/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com