Jaxb Marshaller.Generate output.xml 文件包含与输入相同的数据.xml带有指示记录处理



我正在使用我的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中获得所需的输出。

最新更新