ライブラリ: XML Utility SL
ライブラリには、コントローラ上で XML ファイルと XML 文字列を読み書きするための関数ブロックが含まれています。個々の要素は構造体の配列に格納されます。
さらに、ライブラリには、XML 要素を検索するための機能ブロックも含まれています。
このライブラリは、UTF-8 または UTF-16 エンコードを使用した「整形式」XML ファイルの読み取りと書き込みが可能です。
標準要素:
<xxx>aaa</xxx>
また<xxx />
スタイル内の属性:
yyy="zzz"
コメント:
<!-- Comment -->
CDATA 要素
XML ファイルの各要素は、次のタイプの構造に対応します。 XMLElement
。次のタイプの構造体の配列 XMLElement
XML ファイルの一部または全体を表すために使用されます。
XMLElement
データ構造:diParentIndex
: データ配列内の親要素の位置wsName
: 要素の名前wsValue
: 要素の値udiPosition
: ファイル内の要素の位置elementType
:要素の種類(要素、属性、CDATA要素、コメント)
XMLGetElement
XML要素を読み取ります
読み取りオプション
要素を読み取る
要素のすべての子要素を読み取る
要素 (サブツリー) のすべてのコンポーネントを読み取る
読み取りはファイルベースで行われます。これは、ドキュメント全体をメモリ内に保持しなくても、ファイル内の位置によって個々の要素を読み取ることができることを意味します。
XMLGetElementAsync
XML要素を非同期で読み取ります。
XMLFindElement
ファイル内のファイルベースの XML 要素を検索します
検索オプション:
要素名の検索
特定の値を持つ属性を検索する
見つかった要素のすべての子要素を読み取ります
見つかった要素のすべてのコンポーネントを読み取ります (ツリー構造)
検索開始位置を設定可能
XMLFindElementAsync
XML 要素を非同期的に検索します (非同期検索クエリ)
XMLFindElementByStringAsync
非同期で検索し、次のように動作します
XMLFindElementAsync
しかし、STRING
検索のための入力
XMLWrite
XMLファイルを書き込みます
要素の部分的な書き込みはサポートされていません。すべての要素とその依存関係は常にメモリ (配列) にロードされます。
XMLElement
)。
XMLWriteAsync
XML ファイルを非同期に書き込み、次のように動作します。
XMLWrite
パラメータ
要素の読み取りはバッファリングされます。読み取りバッファーは、少なくとも最大の XML 要素と同じ大きさである必要があります。最大サイズは、ライブラリ マネージャーでライブラリのパラメータ リストを使用して変更できます。
同じことが文字列のサイズにも当てはまります。 WSTRING
を入力してください XMLElement
データ構造。結果配列は関数ブロックの外で生成されるため、サイズを個別に設定できます。
ヒント
例を参照してください。 XML ユーティリティ SL ライブラリの使用。