ページの先頭行へ戻る
Big Data Integration ServerV1.1.0 検索編アプリケーション開発ガイド
FUJITSU Software

3.6.1 XML形式で取り出す

検索したXML文書をXML形式で取り出すことにより、DOMやSAXなどのXMLデータを操作するAPIを利用できます。XML形式で取り出すには、リターン項目にパス式を指定します。以下の2つの方法があります。状況に応じて使い分けてください。


3.6.1.1 XML文書全体を取り出す

リターン式に“/”のみを指定するとXML文書全体をそのまま取り出すことができます。


XML文書全体を取り出します。

/

結果

<doc>
  <employee eno="19980120">
    <name>鈴木太郎</name>
    <namekana>すずきたろう</namekana>
    <department sno= "1001"></department>
    <phone>2201-1101</phone>
    <email>suzuki.taro@example.com</email>
  </employee>
  <basic date="2006年02月16日" expense="7200円">
  </basic>
  <detail>
    <destination area="神奈川県横浜市港北区">本社</destination>
    <purpose>プロジェクト定例会</purpose>
    <train>6600円</train>
    <taxi>600円</taxi>
    <hotel></hotel>
    <comment>特になし</comment>
  </detail>
  <report>次回までに販売実績チャートの作成/報告が必要</report>
</doc>

参考

ソート式を指定している場合は、検索式でヒットしたXML文書がソート式に従って並べ替えられて返却されます。


3.6.1.2 要素ノードを指定してXML形式で取り出す

リターン項目にパス式を指定して、XML文書中の任意のノード配下のデータをXML形式で取り出すことができます。パス式が示す要素ノード配下のデータは、XML文書のルートタグ配下の要素として、XML形式で表現されます。


例として、検索式により下記の1件のXML文書がヒットしたものとして説明します。

<doc>
  <employee eno="19980120">
    <name>鈴木太郎</name>
    <namekana>すずきたろう</namekana>
    <department sno="1001"></department>
    <phone>2201-1101</phone>
    <email>suzuki.taro@example.com</email>
  </employee>
  <basic date="2006年02月16日" expense="7200円">
  </basic>
  <detail>
    <destination area="神奈川県横浜市港北区">本社</destination>
    <purpose>プロジェクト定例会</purpose>
    <train>6600円</train>
    <taxi>600円</taxi>
    <hotel></hotel>
    <comment>特になし</comment>
  </detail>
  <report>次回までに販売実績チャートの作成/報告が必要</report>
</doc>

例1

従業員氏名(name)を取り出します。

/doc/employee/name

リターン式にリターン項目を複数指定することができます。それぞれのパス式は“,”で区切ります。


例2

従業員氏名(name)、基本情報(basic)および出張目的(purpose)を取り出します。

/doc/employee/name,/doc/basic,/doc/detail/purpose

結果

<doc><name>鈴木太郎</name><basic date="2006年02月16日" expense="7200円">
  </basic><purpose>プロジェクト定例会</purpose></doc>

参考

ソート式を指定している場合は、検索式でヒットしたXML文書がソート式に従って並べ替えられて返却されます。


注意

  • リターン項目を複数指定する場合は、すべてのリターン項目がパス式でなければなりません。テキスト式や単一行関数指定(テキスト形式での返却)と混在して指定することはできません。

  • リターン項目に複数の要素が該当するような指定(複数のパス式指定や、“//”,“*”の指定)をした場合、以下のように、取り出された各要素の対応関係をアプリケーションで判断できなくなります。

    • 一部の要素が存在しない場合、どの要素が存在しないのか判断できません。

    • 取り出された要素のパスが判断できません。

  • このような場合、XML文書全体を取り出すか、リターン項目に1つの要素を特定する指定にして取り出してください。