java - JAXB 使用变量值作为 XML 标记

标签 java jaxb

你的问题很简单,但我没有发现其他人有同样的问题。 我正在尝试使用 JAXB 创建 XML,所以 我有课:

@XmlRootElement
public class Container{
private String name;
private String value;

public Container(String name, String value){
    this.name = name;
    this.value = value;
  }
}

使用编码(marshal):

公开课演示{

public static void main(String[] args) throws Exception {
    JAXBContext jc = JAXBContext.newInstance(Container.class);

    Container container = new Container("potatoes","5");


    Marshaller marshaller = jc.createMarshaller();
    marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
    marshaller.marshal(container, System.out);
  }
 }

我收到的输出是:

<Container>
<name>potatoes</name>
<value>5</value>
 </Container>

是否有任何输出方式:

<Container>
<potatoes>5</potatoes>
</Container>

使用 JAXB?

最佳答案

您可以使用 @XmlAnyElement 注释的属性并将元素返回为 JAXBElement:

@XmlAnyElement
public JAXBElement<String> getThing() {
    return new JAXBElement<String>(new QName(this.name), String.class, this.value);
}

关于java - JAXB 使用变量值作为 XML 标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23837815/

相关文章:

java - log4j DailyRollingFileAppender 不添加页脚

java - 谷歌应用引擎 JAVA : how to embed html in mail being sent while using java mail api on google app engine?

java - jaxb:如何影响恶意代码的生成

java - 手机启动时是否可以启动android应用程序 Activity ?

java - 使用 XPath 解析 xml 以获取单个值返回空字符串

java - 从java代码运行xjc

Java,解析 xml 属性的原始、未转换值。贾克森或贾克斯布

jaxb 编码到 XML 文档

java - 如何使用 SessionDestroyedEvent?

maven-2 - 如何配置 IntelliJ IDEA 和/或 Maven 自动添加包含使用 jaxb2-maven-plugin 生成的 Java 源代码的目录?