2014-12-12 4 views
0

WID 8.5를 사용 중입니다. 복합 형 배열을 포함하는 두 개의 서비스 메시지 개체가 있습니다. 이 배열을 내 Java 코드로 가져와 두 배열의 값을 비교하려고합니다. 비교를 바탕으로 새로운 배열을 생성하고 새로운 서비스 메시지 객체에 저장해야합니다. NodeList를 사용하여 이러한 배열을 가져옵니다.

여기에 세부 정보가 나와 있습니다.WebSphere Integration Developer에서 SMO 구문 분석

 
SMO1 

&ltmetadata> 
    &ltvalues> 
     &ltdesc&gtclient country</desc> 
     &ltkey&gtIndia&ltkey> 
    &ltvalues> 
    &ltvalues> 
     &ltdesc&gtclient name</desc> 
     &ltkey&gtSatish&ltkey> 
    &ltvalues> 
&ltmetadata> 

SMO2 

&ltmetadata> 
    &ltvalues> 
     &ltdesc&gtclient name</desc> 
     &ltkey&gt123&ltkey> 
    &ltvalues> 
    &ltvalues> 
     &ltdesc&gtclient country</desc> 
     &ltkey&gt124&ltkey> 
    &ltvalues> 
&ltmetadata> 

Final SMO 
&ltmetadata> 
    &ltvalues> 
     &ltdesc&gtclient name</desc> 
     &ltkey&gt123&ltkey> 
     &ltvalues&gtSatish</value> 
    </values> 
    &ltvalues> 
     &ltdesc&gtclient country</desc> 
     &ltkey&gt124&ltkey> 
     &ltvalue&gtIndia</value> 
    </values> 
&ltmetadata> 

이 변환을 수행하려면 사용자 지정 Java 코드를 제공하십시오.

+0

첫 번째 -1, 코드가 아니라 개념을 직접 물어. 이제 말하면서 두 XML을 상응하는 DOM으로 파싱합니다. 첫 번째 DOM에서 '클라이언트 이름'(getElementsByTag ...)으로 이동하고 두 번째 DOM에서 다시 '값'요소 (getParent ...)를 '클라이언트 이름'으로 이동합니다. 첫 번째 노드를 두 번째 DOM으로 가져 와서 '값'요소에 자식으로 삽입합니다. 두 번째 DOM 파일을 직렬화하십시오. – Ironluca

+0

WID에서 뭔가 해본 이후로 꽤 오랜 시간이 걸렸으므로 일반적으로 대답은 XML API가 아닌 개체를 수정하기 위해 비즈니스 개체/데이터 개체 API를 사용해야합니다. 흐름의 사용자 지정 노드에서이 작업을 수행하려고 시도하고 있습니다). – Gas

+0

또한이 포럼 [IBM Integration Designer 및 WebSphere Integration Developer] (https://www.ibm.com/developerworks/community/forums/html/forum?id=11111111-0000-0000-0000- 000000000821) – Gas

답변

0
  1. 받기 당신은 smo1 및 smo2 예에서 SMO 게터 방법을 사용하여 원하는 요소 : smo.getString(xpath of the smo)

  2. 는 첫 번째 단계에서 가지고있는 모든 요소와 데이터 오브젝트를 구축을

  3. 이 추가 데이터 개체를 최종 smo