我正在研究用于处理测试用例的软件。我将一个测试用例存储在磁盘上的xml文件中。
现在,因为它的JavaFx我需要我的模型的StringProperty类来绑定我的数据。
现在我遇到了一个莫名其妙的问题,我可以成功地将xml文件解组到我的模型中,但是我无法将模型编组到xml文件中,而我得不到Jaxb组件的响应。他只是没有创建文件。
让我们看看我得到了什么:
Testcase.java(模型)
@XmlRootElement(name = "Testcase")
@XmlAccessorType(XmlAccessType.PROPERTY)
public class Testcase {
private StringProperty Guid;
@XmlElement(name="GUID")
public String getGuid() {
return guidProperty().get();
}
private StringProperty guidProperty() {
if (Guid == null)
Guid = new SimpleStringProperty(this, "Guid");
return Guid;
}
public void setGuid(String guid) {
this.guidProperty().set(guid);
}
WrappingFactory.java(Marshall) - DOESN'工作?
public boolean MapModelToXmlFile(T model, File destination) {
try {
JAXBContext jaxbContext = JAXBContext.newInstance(typeParameterClass);
Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
// output pretty printed
jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
jaxbMarshaller.marshal(model, destination);
} catch (Exception e) {
}
return true;
}
WrappingFactory.java(Unmarshall) - 工作量很大
private T MapXmlFileToModel(String path) {
File file = new File(path);
try {
JAXBContext jaxbContext = JAXBContext.newInstance(typeParameterClass);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
return (T) jaxbUnmarshaller.unmarshal(file);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
This picture presents the model after unmarshall.
我读了很多关于错误的吸气剂和制定者,但我找不到任何错误..
当我使用普通的String或布尔属性时,marshaller工作正常。
请帮帮我..
提前致谢。