Skip to main content

ライブラリ: XML Utility SL

ライブラリには、コントローラ上で XML ファイルと XML 文字列を読み書きするための関数ブロックが含まれています。個々の要素は構造体の配列に格納されます。

さらに、ライブラリには、XML 要素を検索するための機能ブロックも含まれています。

このライブラリは、UTF-8 または UTF-16 エンコードを使用した「整形式」XML ファイルの読み取りと書き込みが可能です。

. 次の 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 ライブラリの使用