XML 파서를 사용하여 XML 문자열을 XML 객체로 구문 분석하기
XML 파서를 사용하여 UTF-8 인코딩의 XML 텍스트 문자열을 string.The XML 파서는 XML 개체에 대한 출력 스키마를 생성하여 각 요소와 데이터 유형 및 모든 속성을 표시하는 트리 구조로 흐름 편집기에 표시할 수 있습니다.
IBM® App Connect 에서 이벤트 중심 또는 API 흐름을 만들 때 한 애플리케이션에 저장된 XML 콘텐츠를 다른 애플리케이션에 입력으로 전달해야 하는 경우가 있습니다. App Connect 는 이벤트나 작업의 XML 데이터를 흐름의 후속 노드에 매핑하는 데 사용할 수 있는 기본 제공 XML 파서를 제공합니다. XML 구문 분석기는 UTF-8 인코딩의 XML 텍스트 문자열을 해당 문자열의 XML 객체 표현으로 변환합니다.
구문 분석기는 XML 사양의 버전 1.0 및 1.1 을 지원합니다.
XML 구문 분석기는 흐름 편집기의 도구 상자 탭에서 사용할 수 있습니다.
구문 분석할 데이터 정의 및 유효한 XML 스키마 생성하기
예제를 사용하여 XML 구문 분석기가 어떻게 작동하는지 설명하겠습니다. 공급업체의 새 제품 정보를 데이터베이스 관리 시스템에 추가하는 플로우를 만들고 싶다고 가정해 보겠습니다. 제품 정보는 일반 텍스트 XML 형식이며, 처리를 위해 SFTP 서버에 XML 파일로 업로드됩니다.
SFTP 서버에 업로드된 XML 파일의 콘텐츠를 검색하도록 플로우를 설정한 후에는 App Connect 도구 상자에서 XML 파서 노드를 삽입해야 합니다. 이 노드를 사용하여 구문 분석할 데이터를 정의하고 유효한 XML 스키마를 생성할 수 있습니다. XML 파서 노드를 삽입하고 구성하려면 다음 단계를 완료하세요:
- (+)를 클릭하고 도구 상자 탭으로 이동한 다음 XML 파서를 클릭합니다.
그림 1. 도구 상자 탭에서 XML 파서 선택하기 
- XML 입력 필드를 사용하여 이전 작업 또는 이벤트의 어떤 데이터를 구문 분석할지 지정합니다. 사용 가능한 입력 목록에 표시된 필드에 매핑할 수 있습니다(일반적으로 매핑 삽입을 클릭하여 액세스 가능).
). 일반적으로 이것은 XML 파일의 내용이나 텍스트 본문에 있는 다른 XML 콘텐츠가 될 수 있습니다. 이 예에서는 SFTP 서버에 있는 파일의 내용에 매핑하고 있습니다.그림 2. 매핑된 필드를 보여주는 XML 입력 항목 
- 출력 스키마 섹션을 펼치고 XML 스키마 생성을 클릭합니다.
그림 3. XML 스키마 링크 생성 
- XML 스키마 생성 패널에서 샘플 XML 필드를 사용하여 구문 분석할 콘텐츠의 XML 표현을 지정합니다. 이 예제에서는 루트 요소(
productinfo),category속성이 있는product하위 요소, 중첩된productid,name,description,price,manufacturer형제 요소 등 제품 데이터를 설명하는 데 샘플 XML을 사용합니다.그림 4. 샘플 XML 필드 
샘플 XML 필드를 작성할 때 고려해야 할 사항입니다:
- 샘플 XML 필드에는 최대 16,000자를 입력할 수 있습니다.
- 샘플 XML을 XML 개체로 변환하려면 스키마 생성을 클릭합니다. 생성된 스키마는 각 요소와 해당 데이터 유형 및 모든 속성을 보여주는 트리 구조로 표시됩니다.
그림 5. XML 파서 노드에서 생성된 XML 스키마 트리
팁: 스키마를 수정하려면 스키마 재생성을 클릭하여 XML 스키마 생성 패널을 다시 열고 다른 XML 샘플을 지정할 수 있습니다.
구문 분석된 데이터를 처리하는 방법
XML 파서 노드의 출력은 배열입니다. 따라서 흐름의 후속 노드에서 이 출력을 사용하려면 일반적으로 XML 파서 노드 뒤에 For 각 노드를 포함시켜 배열을 반복하거나 JSONata를 사용하여 배열 데이터를 조작할 수 있습니다.