xmlファイルの読み取り方法

Avatar
baba

 xmlファイルを作成し、そのパスを標準出力するプログラムを作りました。

外部ファイルの起動により、そのプログラムを起動→

標準出力を利用し、パスを取得、その後変数に代入しそのxmlファイルを読みに行きたいのですが、エラーが発生してしまいます。

メッセージコード = FILE0001E

 

ただ、その処理が失敗した後、失敗したパスを変数に対して単一文字列を入力するとxmlファイルを読み取ることができます。

DataSpiderの仕様が関係していたりすることはありますか?

この記事は役に立ちましたか?

0が役に立ったといっています

コメント

  • Avatar
    baba
    コメントアクション Permalink

    読み込みに成功しました。

    失敗例)

    ・ファイルが作成された後に10秒タイマーを入れる。

    ・パスを文字列変換する

    ・親スクリプトを作成し、「xml作成スクリプト」「xml読み込みスクリプト」と分けて、それぞれを「スクリプト呼び出し」で呼び出す。

    ・ファイルトリガーを利用し、パスを取得する。

    成功例)

    ・ファイルトリガーを利用し、パスを取得した後、start後すぐに10秒のタイマーを入れてxml作成スクリプトが完全に終了するまで待機する。

     

    新しく作成したファイルはスクリプトが完全に終了しないと読み込まれなかったりする仕様があったりするのでしょうか?

    0
  • Avatar
    Kurita
    コメントアクション Permalink

    こんにちは。

    >新しく作成したファイルはスクリプトが完全に終了しないと読み込まれなかったりする仕様があったりするのでしょうか?

    という仕様は無いと思います。私もデースパでスクリプト内で書き込みしたCSVファイルなどを読み取ったことはありますが、そのようなことに出会ったことは無いですね・・・。

    「FILE0001E」はファイルが無い場合に発生するエラーなので、以下の2つの可能性が考えられると思います。


    1 ) ファイルを読み取りにいったときにまだファイルが作成されていない
    プログラムを起動されているということですが、そのプログラムでのファイル作成はバックグラウンドで実行されていたりしませんでしょうか? 実際にエクスプローラーなどでディレクトリを視認して確認できるかと思います。

    2) ファイルパスが間違っている
    XMLファイル読み取り処理で読み取りを行っていると思いますが、そこに指定されているファイスパスはDataSpiderファイルシステムのパスでしょうか? プログラムの標準出力から取得されているとすると、OSのファイルパスを指定していたりしませんか?
    それと、標準出力から取得した場合、意図しない改行や空白が入ることがあるかと思いますが、そのようなことは無いでしょうか?
    FILE0001Eエラーが発生した場合、

    原因[java.io.FileNotFoundException: DSファイルパス(OSファイルパス)]

    という形式でファイルパスが表示されると思うので、そこから確認できるかと思います。




    0

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