DbXmlMixedGet

 

混在内容のXMLからテキストを取得

混在内容(Mixed-content)のXML要素のテキストを取得します。

構文:

DbXmlMixedGet(ソース, パス, 要素)

パラメータ:

  • ソース …… XMLタイプのデータソース(例:'1'DSOURCE)

  • パス(文字) …… 混在内容の要素で構成されるXMLファイルをパス付きで指定します(例:/root /mixed_child)。パスには、複数存在する要素のインスタンス番号を指定するためのインデックスを指定することができます。(例: /root/mixed_child[2])

  • 要素(文字) …… 混在内容要素内の要素の名前。この値は、どのテキストノードから取得するかを指定するために使用されます。この値が空白の場合、最初のノードから取得されます。値が空白でない場合、指定されたノードの次のノードから取得されます。要素が存在していない場合、空白が返ります。

戻り値:

文字列 …… テキストノードの値を持つ文字列が返ります。指定されたデータソ-スがオープンされない場合、または指定されたパスが存在しない場合、NULLが返ります。テキストノードが存在しない場合、空白が返ります。

注意:

アクセスするデータソースは、[データビュー]エディタ内に(メインソースやリンクテーブル、または宣言定義で)定義しておく必要があります。

例:

[データ]リポジトリの1番目に、以下の内容のXMLがデータソースとして定義されているものとします。

 

<?xml version="1.0" >

<root>

  <child>Text1

    <elem1>String</elem1>

    <elem2>String</elem2>&#xD;&#xA;    Text2  

  </child>

</root>

 

DbXmlMixedGet('1'DSOURCE,'/root/child’,'')

 

最初のテキストノード「Text1」を取得します。

 

「elem1」と「elem2」の間には、テキストノードが存在しないため以下のようになります。

 

DbXmlMixedGet('1'DSOURCE,'/root/child','elem1')

 

空白が返ります。

 

DbXmlMixedGet('1'DSOURCE,'/root/child','elem2')

 

「Text2」が返ります。

 

DbXmlMixedGet('1'DSOURCE,'/root/child','elem3')

 

NULLが返ります。

 

DbXmlMixedGet('1'DSOURCE,'/root/child_not_exist','')

 

NULLが返ります。

関連トピック:

DbXmlMixedSet