2017-10-05 14 views
2

XML로 입력을받는 저장 프로 시저가 있습니다. XML을 다른 시스템에 적합한 다른 형식으로 만들려면 어떻게해야합니까? (입력 XML의 데이터 포함)저장된 Proc/SQLRPGLE에서 XML을 구문 분석하는 쉬운 방법은 무엇입니까? Iseries에서 XSLT를 사용할 수 있습니까?

두 가지 옵션이 있지만 두 가지 모두 힘들었습니다. 1. XML 형식으로 DS를 만들고 'XML-INTO'를 실행하여 데이터를 구문 분석합니다. 그런 다음 새 XML 을 만듭니다. 2. XMLTABLE을 사용하여 데이터를 구문 분석합니다.

새 XML을 만드는 더 쉬운 방법이 있습니까? 우리 팀의 선배가 XSLT를 사용하도록 제안했습니다. 이게 가능합니까?

+0

저는 iseries에서 xslt를 사용하여 xml을 csv로 변환 한 다음 테이블로 가져 왔습니다. STRQSH xsltproc mytemp.xsl mytarget.xml -o myresult.csv와 같은 것입니다. 나는 회사에 근원 형태의 회사를 데려 오지 않아서 내가 정확하게 기억하고 있는지 확신 할 수 없거나 대답을 게시 할 것입니다. – danny117

답변

1

XSLT를 사용할 수 있어야하며, IBM i는 node.js를 사용할 수 있으며 빠른 검색은 노드 용 XSLT 패키지로 표시됩니다.

왜 XMLTABLE이 힘들지 만 ... XSLT와 동일한 기능을 공유한다고해서 XSLT가 더 좋지 않을 것이라고 생각합니다.

RPG IV도 하나의 옵션을 잊어 버렸습니다. XML-SAX op 코드도 있습니다. 이는 명백히 SAX 파서와 DOM 파서 인 XML-INTO을 사용합니다.

문서에 대한 자세한 정보와 데이터를 전달하는 방법에 대해 자세히 알아볼 수 있습니다.

+0

고마워요 찰스 .. 기본적으로 제 3 자로부터 XML을 가져와 파싱하고 다른 제 3 자에게 다른 XML을 만듭니다. 그래서 입력 XML은 Stored Proc에서 수신 될 것입니다. DS ... 이제 문제는이 데이터로 새로운 XML을 만드는 것입니다. 한 가지 방법은 XML 구조 (프로그램 또는 MSGF 또는 IFS)를 Harcode하고 프로그램의 값을 채우는 데 사용하는 것입니다. 그러나 XML 작성을 소프트 코드하는 방법을 찾고있었습니다. 아마도 XMLForest (그 줄을 따라)를 사용하면 ... –

+0

XMLFOREST 만 익숙한 SQL 함수입니다. XMLTABLE을 사용하여 XML을 테이블로 슬라이스 한 다음 XMLFOREST 및 기타 XML 게시 함수를 사용하여 새로운 XML. _hard coding_ 출력 구조를 코딩하는 방법을 보지 마라. DTD를 찾아서 유효한 XM을 생성하고 싶지 않다면 ... DTD가 자주 변경되지 않는 한 과용 될 것으로 보인다. 여전히지도 itemno = itemnum 또는 하드 코딩하지 않아도됩니다 ... – Charles