文字列をロード/保存

www.altova.com このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム >  アクション > ページ ソース >

文字列をロード/保存

2つのアクション 文字列にロード文字列に保存 はそれぞれ以下を行います:

 

JSON または XML データを文字列からJSON/XML ページソースにロードします。
JSON/XML ページソースを文字列にシリアル化し XPath 式により指定された場所に、シリアル化された文字列を保存します。

 

シリアル化された XML データが Web ページから受信することができ、 $MT_EMBEDDEDMESSAGE JSON ページソース内で保存される場合、埋め込まれた Web ページソリューション でこれらの機能はとても役にたちます。文字列からロードするアクションは、XML 文字列を取り、 XML ページソースを生成することができます。 逆に、文字列に保存アクションを使用して、 XML ページソースをシリアル化しページソースノードに保存することができます。

 

文字列にロード

文字列にロード アクションは、ソースノード 設定 XPath 式によりターゲットとされた文字列を解析し(下のスクリーンショットを参照)、選択されたページソースの構造とデータを生成します (スクリーンショット参照)。

MTActionLoadFromString

選択されたページソースノードの型 (JSON または XML) は文字列のシリアル化に対応する必要があります。ですから、ソースノード文字列は JSON 文字列です、そして、JSON ドキュメントが生成します。 ソースノード内の文字列はシリアル化された XML 文字列で、この文字列は XML ページソースである必要があるページソースにロードされます。シリアル化された文字列内のルート要素は、シリアル化された文字列内のルート要素は XML ページソースのルート要素として。

 

ソース文字列について: 上のスクリーンショットでは、XML 文字列は、ソースノード $SERIALIZEDSTRINGS/Strings/XML_String 内に存在します。これは選択されるページソースにロードされる文字列です。これが正確に作動するためには、ページソースは XML ページソースである必要があります (ソースノード 設定の XPath 式は、ノードから文字列を取る必要はありません。文字列は XPath 式内に直接入力することができます)。
ソース文字列のエンコードについて: 次のエンコードがクライアントによりサポートされており、ソース文字列はこれらのエンコードの一つである必要があります: UTF-8、UTF-16LE、UTF-16BE、UTF-32LE、UTF-32BE、US-ASCII、ISO 8859-1。
JSON/XML ページソースについて: ページソースノードはアクション内で選択される前に作成される必要があります。文字列からロードされた JSON/XML ドキュメントは、ドキュメントノード内でページソース全体として作成されます。ランタイムで、 ロードされたドキュメントの構造がページソースノードの構造 (デザイン内で定義されたとおり)に一致しない場合、ソリューションは正確に実行されます。これは、デザインが期待されるページソース構造のノード名と作動し、ページソースノードのノードは実際には異なる名前で作成されているからです。

 

文字列に保存

文字列に保存アクションはページソース オプション内で名前の付けられたページソースノードをシリアル化し、シリアル化された文字列をターゲットノード 設定の XPath 式により指定された場所に保存します (下のスクリーンショット) 。

MTActionSaveToString

以下の点に注意してください:

 

コンボボックスオプションとして選択するために、ページソースノードとその構造は、デザイン時とランタイムの両方でデザイン内に存在する必要があります。
型に関わらず、ページソース全体のコンテンツが最初の文字から最後の文字まで文字列にシリアル化されます。
シリアル化により発生する文字列は XPath 式内で指定されたノードに保存されます。

 

サンプルファイル

LoadSaveString.mtd という名前のサンプルファイルでは、これらの2つのアクションの使用方法が紹介されています。 このファイルはマイドキュメントフォルダー内にあります: Altova\MobileTogetherDesigner5\MobileTogetherDesignerExamples\Tutorials. このサンプルには 2つのページソース ($JSON1$XML1) が含まれています。それぞれには、固定された JSON と XML データが含まれています(スクリーンショットを参照)。 文字列に保存アクションを使用することにより、各ページソースを、文字列としてシリアル化することができ、ノードに保存することができます。文字列にロード アクションを使用して、新しいページソース($JSONFROMSTRING$XMLFROMSTRING)にシリアル化されたばかりの文字列をロードするためにこのアクションをリバースすることができます。

Click to expand/collapse

 

デザインファイルは JSON ページソース ($JSON1) と XML ページソース ($XML1) を含み、ファイル内でファイル内で定義されている構造とデータを含みます (上のシミュレーションのスクリーンショット参照 )。 両方のデータ構造は基本的なものです。
デザインには、各ページソースをシリアル化された文字列として保存するボタン (Save JSON/XML String) が含まれており、それぞれは、 $SERIALIZEDSTRINGS という名前の他のページソースの異なるノード内に存在します。これらのボタンは文字列に保存アクションを使用します。
生成されたシリアル化は新規のページソース $JSONFROMSTRING$XMLFROMSTRING を作成するために使用されます。これは3番目と4番目のボタン (「JSON/XML 文字列の保存」) の文字列にロード アクションをトリガーすることにより行うことができます。

 

このサンプルは、2つのアクション (文字列に保存文字列にロード) を使用して、1つのページソースから他のページソースにシリアル化された文字列を使用して往復します。ページソースの基点とターゲットは同じ構造とデータを保持します。

 


(C) 2019 Altova GmbH