2016-08-16 62 views
0

刪除XML元素只是想知道,如果反正從XML通過dataweave,示例XML(有效載荷)這樣刪除元素:騾子 - 由dataweave

 <?xml version="1.0" encoding="UTF-8"?> 
<SampleData CreateDttm="2017-08-02T00:00:00"> 
      <Accounts> 
      <Account ID="123"> 
       <PolicyHeaderTable PolicyID="EX20130002"> 
        <WArchive>1</WArchive> 
        <PolicyNum>12345678</PolicyNum> 
        ... ... 
       </PolicyHeaderTable> 
       </Account> 
      </Accounts> 
</SampleData> 

我只是想刪除「WArchive」,記在代碼片段中有大約200個元素被省略號代替。我已經嘗試了在dataweave中刪除函數,但失敗了。

%dw 1.0 
%output application/xml 
--- 
//payload.SampleData.Accounts.Account.PolicyHeaderTable - "WArchive" 
//payload - payload.SampleData.Accounts.Account.PolicyHeaderTable.WArchive 

任何人都可以請建議轉換代碼可以在dataweaver中使用嗎?我知道xslt能夠處理這個問題,但如果可能的話,我更喜歡使用dataweaver。

非常感謝。

最好的問候, 羅伯特

回答

2
Please find the below code which removes an xml element by remove(-) operator. 

%dw 1.0 
%output application/xml 
--- 

"SampleData" : payload.SampleData mapObject { 
      "Accounts" : $ mapObject { 
       "Account" : $ mapObject { 
        "PolicyHeadeTable" : $ - "WArchive" 
       } 
      } 
     }