在JAXB中,可以通过使用@XmlAttribute注解来向文本元素添加属性。具体步骤如下:
以下是一个示例代码:
import javax.xml.bind.annotation.*;
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class MyElement {
@XmlAttribute
private String attribute;
private String value;
// getter and setter methods
public String getAttribute() {
return attribute;
}
public void setAttribute(String attribute) {
this.attribute = attribute;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
在上述示例中,MyElement
类表示一个XML文档中的元素,它包含一个名为value
的文本元素,并且可以添加一个名为attribute
的属性。
使用JAXB将Java对象转换为XML时,可以设置属性的值,如下所示:
import javax.xml.bind.*;
public class Main {
public static void main(String[] args) throws JAXBException {
MyElement element = new MyElement();
element.setValue("Hello World");
element.setAttribute("example");
JAXBContext context = JAXBContext.newInstance(MyElement.class);
Marshaller marshaller = context.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
marshaller.marshal(element, System.out);
}
}
运行上述代码将生成以下XML输出:
<MyElement attribute="example">
<value>Hello World</value>
</MyElement>
这样,就成功向文本元素添加了属性。
领取专属 10元无门槛券
手把手带您无忧上云