gpt4 book ai didi

java - 如何使用 JAXB 使基类字段成为子类 xml 模式的属性

转载 作者:行者123 更新时间:2023-11-30 02:43:39 25 4
gpt4 key购买 nike

这就是我正在做的事情:

这是我的形状类,有 id

public class Shape {
private int id;

@XmlAttribute
public int getId(){
return id;
}

public void setId(int no)
id = no;
}

}

这是我的圆形类,它继承了形状类。

@XmlRootElement(name="Circle")
public class Circle extends Shape {

private int radius;

public int getRadius() {
return radius;

}
public void setRadius(int rad) {
radius = rad;
}


}

生成的pom文件

<?xml version="1.0" encoding="UTF-8"?>
<Circle>
<id>1345</id>
<radius>5</radius>
</Circle>

我想要这个。请注意,id 是一个属性,而不是上面生成的元素。

<?xml version="1.0" encoding="UTF-8"?>
<Circle id=1345>
<radius>5</radius>
</Circle>

我怎样才能做到这一点。

我正在使用java8 jaxb任何帮助!

最佳答案

嗨,请尝试下面的驱动程序类。

公共(public)类转换器{

public static void main(String[] args) {
Circle circle = new Circle();
circle.setRadius(5);
circle.setId(1234);
try {

File file = new File("Y:\\file.xml");
JAXBContext jaxbContext = JAXBContext.newInstance(Circle.class);
Marshaller jaxbMarshaller = jaxbContext.createMarshaller();

// output pretty printed
jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);

jaxbMarshaller.marshal(circle, file);
jaxbMarshaller.marshal(circle, System.out);

} catch (JAXBException e) {
e.printStackTrace();
}
}

}

关于java - 如何使用 JAXB 使基类字段成为子类 xml 模式的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40882481/

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