簡體   English   中英

使用 groovy 腳本或 xslt 合並兩個 xml

[英]merge two xml using groovy script or xslt

我有兩個 xml,需要使用 groovy 進行 xslt 映射合並。

XML-1 的結構:

 <EmployeeTime> <EmployeeTime> <ABC>xyz</ABC> <userId>77</userId> <ABC1>xyz1</ABC1> </EmployeeTime> <EmployeeTime> <ABC>xyz</ABC> <userId>78</userId> <ABC1>xyz1</ABC1> </EmployeeTime> <EmployeeTime> <ABC>xyz</ABC> <userId>79</userId> <ABC1>xyz1</ABC1> </EmployeeTime> </EmployeeTime>

XML-2 的結構 -

 <n0:ZHTR_LEAVE_SAL_ADVANCEResponse xmlns:n0="urn:sap-com:document:sap:rfc:functions"> <E_LEAVEDATA> <item> <PERNR>00000077</PERNR> <AMOUNT>0.0</AMOUNT> <DAYS/> <DATE>2020-02-29</DATE> </item> <item> <PERNR>00000078</PERNR> <AMOUNT>0.0</AMOUNT> <DAYS/> <DATE>2020-02-29</DATE> </item> <item> <PERNR>00000078</PERNR> <AMOUNT>0.0</AMOUNT> <DAYS/> <DATE>2020-02-29</DATE> </item> </E_LEAVEDATA> </n0:ZHTR_LEAVE_SAL_ADVANCEResponse>

我需要合並它並得到如下響應 -

 <EmployeeTime> <EmployeeTime> <ABC>xyz</ABC> <userId> <PERNR>77</PERNR> <AMOUNT>0.0</AMOUNT> <DAYS/> <DATE>2020-02-29</DATE> </userId> <ABC1>xyz1</ABC1> </EmployeeTime> <EmployeeTime> <ABC>xyz</ABC> <userId> <PERNR>78</PERNR> <AMOUNT>0.0</AMOUNT> <DAYS/> <DATE>2020-02-29</DATE> </userId> <ABC1>xyz1</ABC1> </EmployeeTime> <EmployeeTime> <ABC>xyz</ABC> <userId> <PERNR>79</PERNR> <AMOUNT>0.0</AMOUNT> <DAYS/> <DATE>2020-02-29</DATE> </userId> <ABC1>xyz1</ABC1> </EmployeeTime> </EmployeeTime>

合並的響應應該豐富 XML-1 中的 userId 標記

請注意,可以重復 n 次,同樣適用於

有人可以幫我處理代碼 XSLT 或 groovy 嗎?

問候, 阿卡什

在這里,我假設 XML1 是 ECRESPONSE 而 XML-2 是 S4RESPONSE -

def Message processData(Message message) {
       def properties = message.getProperties();
       def ecmessage = properties.get("ECRESPONSE");
       def s4message = properties.get("S4RESPONSE");
       String combinemessage = ecmessage+"<S4Response>"+s4message+"</S4Response>";
        def messageLog = messageLogFactory.getMessageLog(message);
messageLog.addAttachmentAsString("ResponsePayloadCombine:", "--"+combinemessage+"--", "text/plain");
       return message;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM