2017-10-11 10 views
1

입력 XML에서 값을 추출하고 Groovy를 사용하여 출력 XML을 구성하려고합니다. 오류가 발생했습니다. 로직을 확인하기 위해 작은 예제를 사용했습니다.입력 XML을 읽고 groovy를 사용하여 출력 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가 : 인수 형식이 일치하지

감사합니다, 벤 카트는 each 기능을 카운터를 제공해야 할 것 같습니다

+0

오류로 인해 오류가 발생한 행이 표시됩니까? –

답변

0

. 다음과 같은 것을 시도해보십시오

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

더 나은을 아직도 당신이 부서의 알 수없는 번호가있는 경우, 당신은 부서 수준으로 .each()를 이동할 수 있습니다.