我正在使用我的Pojo对象使用Unmarshall Jaxb读取一个xml文件(Input.xml(。
使用解组器读取输入文件示例。
File file = new File(".\src\test\files\Input.xml");
JAXBContext jaxbContext = JAXBContext.newInstance(MerchantPayments.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
MerchantPayments MpObj = (MerchantPayments) jaxbUnmarshaller.unmarshal(file);
// Process MpObj..
我现在需要做的是生成一个 Output.xml 文件,其中包含与 Input.xml 文件相同的数据,但添加一个名为 <result>
的新标记,指示记录是否已成功加载。
使用包含相同输入数据的 Jaxb Marshal 功能生成输出.xml文件的最佳方法是什么.xml并添加新标记?
我需要生成输出.xml文件的新 Pojo 才能添加新标签,或者还有其他使用 Jaxb Marshaller 的方法?
在输入.xml文件和输出.xml文件下方,我需要使用附加标记生成<result>
输入.xml
<?xml version='1.0' encoding='UTF-8'?>
<payments>
<payment>
<account>123</account>
<order>110000000001</order>
<amount>19.0</amount>
</payment>
<payment>
<account>1234</account>
<order>110000000002</order>
<amount>20.0</amount>
</payment>
</payments>
输出.xml,包含新的标记<result>
:
<?xml version='1.0' encoding='UTF-8'?>
<payments>
<payment>
<account>123</account>
<order>110000000001</order>
<amount>19.0</amount>
**<result>Record loaded correctly</result>**
</payment>
<payment>
<account>1234</account>
<order>110000000002</order>
<amount>20.0</amount>
**<result>Record Failed</result>**
</payment>
</payments>
提前谢谢。
要在 Output.xml 中添加新标签,首先,您必须在 MerchantPayments 类中添加以下属性对应的 setter/getter 方法。
@XmlElement(name = "result")
private String result;
解组后,您将获得 MpObj,您必须在其中将"记录失败">文本设置为结果字段。现在,您可以编组 MpObj,并将在输出.xml中获得所需的输出。