JAXB:如何将映射编组到
javapublic class KeyValue { private String key; private String value; // 省略构造函数、getter和setter方法 @XmlElement(name = "key") public String getKey() { return key; } public void setKey(String key) { this.key = key; } @XmlElement(name = "value") public String getValue() { return value; } public void setValue(String value) { this.value = value; }}在上面的代码中,我们使用了JAXB的 @XmlElement 注解来指定键和值的XML元素名称。接下来,我们可以创建一个包含多个键值对的映射类。这个类应该包含一个属性,用于存储键值对的列表。例如:java@XmlRootElement(name = "mapping")public class Mapping { private List keyValueList; // 省略构造函数和getter/setter方法 @XmlElement(name = "entry") public List getKeyValueList() { return keyValueList; } public void setKeyValueList(List keyValueList) { this.keyValueList = keyValueList; }} 在上面的代码中,我们使用了JAXB的 @XmlElement 注解来指定键值对列表的XML元素名称。现在,我们可以使用JAXB将这个映射类序列化为XML格式的数据。下面是一个简单的示例:javapublic class JAXBExample { public static void main(String[] args) throws JAXBException { List keyValueList = new ArrayList<>(); keyValueList.add(new KeyValue("key1", "value1")); keyValueList.add(new KeyValue("key2", "value2")); keyValueList.add(new KeyValue("key3", "value3")); Mapping mapping = new Mapping(); mapping.setKeyValueList(keyValueList); JAXBContext jaxbContext = JAXBContext.newInstance(Mapping.class); Marshaller marshaller = jaxbContext.createMarshaller(); marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); marshaller.marshal(mapping, System.out); }} 在上面的示例中,我们创建了一个包含三个键值对的映射,并将其序列化为XML格式的数据。输出结果如下:xmlJAXB是一个强大而灵活的工具,可以帮助我们轻松地将Java对象与XML文档相互转换。通过使用JAXB的注解,我们可以定义Java对象与XML元素之间的映射关系,并且可以灵活地控制XML的生成和解析过程。在本文中,我们学习了如何将映射编组到key1 value1 key2 value2 key3 value3