Я работаю над проектом, в котором мне нужно создать xml с пользовательскими тегами. Однако при использовании JAXB у меня возникает следующая проблема: поскольку метод этого класса вызывается другим классом из нескольких частей, я хочу, чтобы содержимое различных тегов было добавлено к предыдущему и не перезаписано. Учитывая код, не могли бы вы сказать мне, как изменить его, чтобы не было перезаписи, но добавил? Спасибо!
XmlCreator xmlcreator = new XmlCreator();
xmlcreator.setOntology(onto);
xmlcreator.setPerformative(perf);
xmlcreator.settimeStamp(ts);
xmlcreator.setProtocol(pro);
xmlcreator.setReceiver(rec);
xmlcreator.setContent(con);
try {
File file = new File("C:\\Users\\Francesco\\Desktop\\writereceiver.xml");
JAXBContext jaxbContext = JAXBContext.newInstance(XmlCreator.class);
Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
// output pretty printed
jaxbMarshaller.setProperty(Marshaller.JAXB_ENCODING, "UTF-8");
jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
jaxbMarshaller.marshal(xmlcreator, file);
jaxbMarshaller.marshal(xmlcreator, System.out);
} catch (JAXBException e) {
e.printStackTrace();
}
Mentre Questa è xmlCreator.class
package logger;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class XmlCreator{
String ontology;
String timeStamp;
String performative;
String sender;
String protocol;
String content;
String receiver;
int id;
public String getOntology() {
return ontology;
}
@XmlElement
public void setOntology(String ontology) {
this.ontology = ontology;
}
public String getPerformative() {
return performative;
}
@XmlElement
public void setPerformative(String performative) {
this.performative = performative;
}
public String gettimeStamp() {
return timeStamp;
}
@XmlElement
public void settimeStamp(String timeStamp) {
this.timeStamp = timeStamp;
}
public String getSender() {
return sender;
}
@XmlElement
public void setSender(String sender) {
this.sender = sender;
}
public String getProtocol() {
return protocol;
}
@XmlElement
public void setProtocol(String protocol) {
this.protocol = protocol;
}
public String getContent() {
return content;
}
@XmlElement
public void setContent(String content) {
this.content = content;
}
public String getReceiver() {
return receiver;
}
@XmlElement
public void setReceiver(String receiver) {
this.receiver = receiver;
}
}