メインコンテンツへスキップ

XMLファイルの要素取得

コメント

7件のコメント

  • Tanda

    AIS川島さん、

    試したわけではないのですが、複数の要素を取得するにはデータの内容を配列で取得する必要があるかと思います。

    関数一覧で調べてみましたら、XMLBlobGet() 関数がそれに該当するように思えますが、いかがでしょうか?ヘルプにはサンプルも載っているようです。

    XML要素やXML属性の数を取得するには、XMLCnt() 関数が用意されているようです。

  • Tanda

    AIS川島さん、

    追伸です。

    ヘルプを見ますと、XMLGet() 関数でもインデックスが指定できるとありますので、XMLBlobGet() 関数を使わなくても、複数の値が取得できそうですね。事前に、XMLCnt() 関数を使ってインデックスの最大値を取得しておけばいいと思います。

     

  • AIS川島

    アドバンス情報の川島です。

    ご回答ありがとうございました。早速試したいと思います。

    ベクトル型の変数に更新するわけですね。

     

     

     

  • Tanda

    AIS川島さん、

    ベクトル化してもいいのですが、追伸にも書きましたように、XMLGet() でもインデックスを指定することができることが分かりましたので、XMLCnt() で取得したインデックスの数だけループさせればいいと思います。

    XMLGet() のヘルプにサンプルプログラムが掲載されていますよ。

  • muka

    川島さん、こんにちは。

    XMLGet(0,1,'/dezie/library/record-list/record/value')

    で取得できるのなら、

    XMLGet(0,1,'/dezie/library/record-list/record/value[2]')
    XMLGet(0,1,'/dezie/library/record-list/record/value[3]')
    ...
    XMLGet(0,1,'/dezie/library/record-list/record/value[n]')

    で取得できると思います。

     

  • AIS川島

    アドバンス情報の川島です。

     ご返信ありがとうございます。

     できました、ご指定のように要素インデックスの指定をしていませんでした。

     取得した内容を変数に入れてDBに更新しました。

     ご教授のほどありがとうございました。

     今後ともよろしくお願いいたします。

  • Tanda

    川島さん、

    うまく動いてよかったですね。

    インデックスを指定しない場合は、最初の1個だけが取り込まれます。

     

サインインしてコメントを残してください。