2017-10-05 1 views
2

私はXMLとして入力を受け取るストアドプロシージャを持っています。私は(入力XMLからのデータとの)別のシステムストアドProc/SQLRPGLEでXMLを解析する簡単な方法は何ですか? IseriesでXSLTを使用できますか?

に適している別の形式にXMLを作成するためにそれを行うために必要なものを私はこれを行うには2つのオプションを考え出したが、両方のは面倒です。 1. XMLの形式でDSを作成し、データを解析するために「XML-INTO」を実行します。次に、新しいXML を作成します。2. XMLTABLEを使用してデータを解析します。

新しいXMLを簡単に作成する方法はありますか?私のチームのシニアは、XSLTの使用を提案しました。これは私の中で可能ですか?他に何も、IBM iはNode.jsのが利用できていないと、クイック検索は、ノードのためのXSLTパッケージを上げた場合

+0

私はiseriesでxsltを使ってxmlをcsvに変換し、それをテーブルにインポートしました。 STRQSH xsltproc mytemp.xsl mytarget.xml -o myresult.csvのようなものです。私は会社にソースフォーム会社を持ってこないので、私が正しく覚えているかどうかわからない、あるいは答えを投稿するだろう。 – danny117

答えて

1

XSLTは、利用可能であるべきです。

ではありませんあなたは必ずXMLTABLE面倒見つける...それはXSLTと同様の機能を共有することを考えると、なぜ、私は、XSLTは任意のより良いではないでしょう想像します。あなたは、1つのオプションを忘れてしまった

、RPG IVもXML-SAXオペコードを提供しています。明らかにSAXパーサ対DOMパーサーXML-INTOを使用しています。

ドキュメントの詳細とデータの受け渡し方法については、より多くのガイダンスを提供する可能性があります。

+0

ありがとうチャールズ..基本的に、私は第三者からXMLを取得し、それを解析し、別のサードパーティーに異なるXMLを作成します。したがって、入力XMLはStored Procで受信されます。 DS ...今問題は、このデータで新しいXMLを作成することです。 1つの方法は、XML構造(プログラムまたはMSGFまたはIFSのいずれか)をHarcodeにして、プログラムの値を移入するだけです。しかし、私はXMLの作成をソフトコードする方法を探していました。おそらくXMLForest(その行に沿って)を使用して... –

+0

私はSQL関数に精通しています...あなたはXMLTABLEを使用してXMLをテーブルにスライスし、XMLFORESTと他のXMLパブリッシング関数を使用して新しいXML。あなたはDTDを見て、そのための有効なXMを生成したくない場合を除いて、出力構造を_ハードコード化する方法を見ないでください... DTDが頻繁に変更されない限り、過剰なものと思われます。 'dはまだマップitemno = itemnumかどうかをハードコードする必要があります... – Charles

関連する問題