gpt4 book ai didi

java - 从键值列表到属性键=值

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

我有一个关于 JAXB 的问题。基本上我有这两个类:

Element {
String name
List<Attribute> attributes;
}

Attribute {
String key
String value
}

当然有 getter 和 setter,还有 JAXB XmlRootElement。

由此生成的 XML 是:

<element>
<attributes>
<key>id</key>
<value>1</value>
</attributes>
<name>My Element</name>
</element>

但我正在寻找的是更像这样的东西:

<element id="1">
<name>My Element</name>
</element>

也就是说,对于 Attribute 的每个实例,我想要 key=value(作为一个属性)

这在 JAXB 中可行吗?

问候,莫腾

最佳答案

我认为它不适用于列表。但是有一个替代方法,使用

  • map 和
  • @XmlAnyAttribute

你的例子:

  @XmlRootElement
public static class Element
{
@XmlElement
String name;

@XmlAnyAttribute
Map<QName, Object> map;
}

{
//
Element element = new Element();
element.name = "a wonderful name";
element.map = new HashMap<QName, Object>();
element.map.put( new QName( "id" ), "1" );
element.map.put( new QName( "other" ), "2" );
}

结果:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<element id="1" other="2">
<name>a wonderful name</name>
</element>

最好的问候!

关于java - 从键值列表到属性键=值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8113239/

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