2017-10-11 6 views
1

私は入力xmlから値を抽出し、groovyを使用して出力xmlを作成しようとしています。私はエラー以下になっています。私はロジックを検証するための小さな例を取った。groovyを使用して入力xmlを読み込んで出力xmlを構築するときにエラーが発生しました

def xml1 = """ 
<company type="bentley"> 
    <account> 
     <dept1>IT</dept1> 
     <dept2>Admin</dept2> 
     <dept3>Security</dept3> 
    </account> 
</company>""" ; 

def xml2 = """ 
<company type="NG"> 
    <account> 
     <dept1></dept1> 
     <dept2></dept2> 
     <dept3></dept3> 
    </account> 
</company>"""; 

def rootnode1= new XmlParser().parseText(xml1); 
def rootnode2= new XmlParser().parseText(xml2); 

rootnode1.account.each { 
rootnode2.account.dept1[0].value = it.dept1[0].text(); 
rootnode2.account.dept2[0].value = it.dept2[0].text(); 
} 

エラー:java.lang.IllegalArgumentExceptionが:引数の型の不一致

おかげで、 ヴェンカト

+0

エラーは、エラーが発生している行を示していますか? –

答えて

0

あなたはeach機能にカウンターを提供する必要があるように見えます。次のようなものを試してみてください:

rootnode1.account.each { n -> 
rootnode2.account.dept1[0].value = n.dept1[0].text(); 
rootnode2.account.dept2[0].value = n.dept2[0].text(); 
} 

ベターまだ、あなたは部門の未知の数を持っている場合、あなたはDEPTレベルに.each()を移動することができます。

関連する問題