4D v16.3

DOM Find XML element

ホーム

 
4D v16.3
DOM Find XML element

DOM Find XML element 


 

DOM Find XML element ( elementRef ; xPath {; arrElementRefs} ) -> 戻り値 
引数   説明
elementRef  文字 in XML要素参照
xPath  テキスト in 検索する要素のXPathパス
arrElementRefs  文字配列 in 見つかった要素参照のリスト (該当する場合)
戻り値  文字 in 見つかった要素の参照 (該当する場合)

説明   

DOM Find XML element コマンドはXMLストラクチャ中で特定のXML要素を検索するために使用します。検索はelementRef 引数で指定された要素から開始されます。

探すXMLノードはXPath記法を使用で xPath 引数に指定します (XML DOMコマンドの概要の"XPath記法の利用"を参照)。インデックス付きの記法を使用できます。

Note: XML標準に従い、検索は大文字小文字を区別します。

コマンドは見つけた要素のXML酸所を返します。

arrElementRefs 文字列配列が渡されると、コマンドはこの配列に見つけた要素のリストを返します。この場合コマンドは結果としてarrElementRefs 配列の最初の要素を返します。この引数はxPath 引数で指定した場所に同じ名前の要素が複数ある場合に利用できます。

この例題は素早くXML要素を検索し、値を表示します:

 vFound:=DOM Find XML element(vElemRef;"Items/Book[15]/Title")
 DOM GET XML ELEMENT VALUE(vFound;value)
 ALERT("The value of the element is: \""+value+"\"")

同じ検索を以下の方法で行うこともできます:

 vFound:=DOM Find XML element(vElemRef;"Items/Book[15]")
 vFound:=DOM Find XML element(vFound;"Book/Title")
 DOM GET XML ELEMENT VALUE(vFound;value)
 ALERT("The value of the element is: \""+value+"\"")

Note: 上の例題で示す通り、XPathパスは常にカレント要素の名前から始まります。これは相対XPathパスを扱う場合は特に重要です。

以下のXML構造があるとき:

<Root>
   <Elem1>
      <Elem2>aaa</Elem2>
      <Elem2>bbb</Elem2>
      <Elem2>ccc</Elem2>
   </Elem1>
</Root>

以下のコードを使用してそれぞれのElem2要素への参照をarrAfound 配列に受け取ります:

 ARRAY TEXT(arrAfound;0)
 vFound:=DOM Find XML element(vElemRef;"/Root/Elem1/Elem2";arrAfound)

コマンドが正しく実行されるとシステム変数OKに1が設定され、そうでなければ0が設定されてエラーが生成されます。

エラーは以下の場合に生成されます:

  • 要素参照が無効の場合。
  • 指定されたXPathパスが無効の場合。



参照 

DOM Count XML elements
DOM Create XML element

 
プロパティ 

プロダクト: 4D
テーマ: XML DOM
番号: 864

このコマンドはOKシステム変数を更新しますErrorシステム変数が更新されることがあります。This command can be run in preemptive processes

 
履歴 

変更: 4D v11 SQL

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v16)
ランゲージリファレンス ( 4D v16.1)
ランゲージリファレンス ( 4D v16.2)
ランゲージリファレンス ( 4D v16.3)