XMLDocument スクリプトオブジェクト
-
- 更新日2025年1月30日
- 所要時間:10 分
- Yokohama
- "スクリプティング"
XML ドキュメント (文字列) から XML データを解析および抽出するための JavaScript オブジェクトラッパー。
この Javascript クラスを使用して、XML 文字列からオブジェクト (通常は Web サービスの呼び出しからの戻り値)、または ECC キューの XML ペイロードをインスタンス化します。Javascript ビジネスルールで XMLDocument オブジェクトを使用すると、XML 要素と属性から直接、値のクエリを実行できます。
コンストラクター
スクリプトオブジェクトのコンストラクターは、使用するオブジェクトの新しいインスタンスを作成します。
名前空間で修飾された XML 文字列の XML 解析を実行するには、XMLDocument コンストラクターの 2 番目の引数に「true」を指定します。次の例は、要素の名前空間修飾を含む XML 文字列の解析です。
ノードと要素の配置
XMLDocument オブジェクトを準備できたので、次の API を呼び出して、XML ドキュメントのノードと要素を検索したり、そこからテキストを直接抽出したりできます。ノードと属性を検索するためのクエリ構文は、XPath に基づいています。
注: このオブジェクトの XML 解析は名前空間を認識しません。つまり、名前空間があるノード名 (たとえば「<names:myelement> ...」など) を検索する場合に、XPath 検索文字列は「//myelement」になります。
XPath でノードを検索し、結果のノードからテキスト値を取得する例を次に示します。
次の例では、XPath でノードを検索し、ノードと要素で API を使用して属性と値を取得します。
または、次の便利な関数を使用してノード名とタイプを取得することもできます
反復できる、または位置により直接アクセスできるノードのリストを取得することもできます
次の例は、名前空間で修飾された XML 文字列の解析です。
属性値の取得
属性は単なるノードの拡張であるため、まったく同じ API を持ちます。
次の例は、ノードにクエリを実行して、その属性を位置で取得する方法を示しています
XPath には、属性ノードを直接検索するためのクエリ構文もあります。以下に例を示します。
新しい要素の作成
XML ドキュメントが作成されれば、XML ドキュメントのどのレベルでも XML 要素を作成できます。setCurrent 関数を使用して新しい要素を子要素として作成する位置を指定し、createElement 関数を使用して要素を作成します。
結果の XML ドキュメントは次のようになります