2016-04-05 13 views
1

csvをxmlに変換するためのデータ・ウィーブ・コードを記述する必要があります。私の出力xmlはxml宣言('<?xml version='1.0' encoding='UTF-8'?>')を含んではいけません。dataweaveを使用してファイルに書き込むときにxml宣言を省略します。

dataweaveコード:

%dw 1.0 
%output application/xml 
--- 
parent :{ 
    child1:payload.input1, 
    child2:payload.input2 
} 

予想される出力:

<parent> 
    <child1></child1> 
    <child2><child2> 
</parent> 

存在出力:

<?xml version='1.0' encoding='UTF-8'?> 
<parent> 
     <child1></child1> 
     <child2></child2> 
</parent> 

ディレクティブはヘッダセクションに追加されるために私を提案してください。ありがとう

+0

こんにちは@masetti、私が見つけた唯一のことは、XML宣言を省略するためにXSLTを使用することです。このリンクをご覧ください:http://stackoverflow.com/questions/14800746/need-to-remove-xml-version-1-0-encoding-utf-16-from-the-xml –

答えて

0

私は、データシートにその宣言を含めないように頼んだり、STANDARD xmlの最後にはありません。 @ ralph-rimorinはXSLTを使用することを提案しましたが、あなたのケースでは少し汚れているかもしれませんが、おそらくもっと速いのは単純な文字列です。ただ、これはあなたのXMLを設定することを心に留めておく

<set-payload value="#[message.payloadAs(String).replace('<?xml version="1.0" encoding="UTF-8"?>','')]" doc:name="Remove xml header"/> 

は、ペイロードではなくDOMオブジェクトとして文字列を持っているが、これはラバESBのユースケースの多くの問題ではありません。

関連する問題