フォルダーの場所から複数の XML ファイルをインポートする<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />多数の XML ファイルを含むフォルダーがあり、そのフォルダーを開いて情報を抽出し、この新しい情報を個別に保存して、両方のファイルを閉じたいと考えています。 「Import xml」アドインを使用してこれを単独で行うこともできますが、これに費やす労力と時間を削減するために、フォルダー全体を自動的に調べたいと考えています。
誰かがこれを行う時間がある場合に役立つように、xml ファイルを含むサンプルフォルダーを添付しました。
よろしく
デビッド
Re: フォルダーの場所から複数の XML ファイルをインポートするこれを検索している人のために更新するために...
これは、JMP 15 で次のように簡単に処理できるようになりました。 XMLインポートウィザードと複数のファイルをインポートする。
単一のファイルに対してインポート ウィザードを使用して、XML 構造を定義できます。 次に、ソース スクリプトから XML 設定をコピーし、[複数ファイルのインポート] ダイアログの設定に貼り付けます。
Re: フォルダーの場所から複数の XML ファイルをインポートするこのアドイン コードは非常によく構成されており、1 つの「マスター」関数を実行するだけでそのすべてのパワーと機能にアクセスできます。 したがって、ここではアドインの GUI を回避し、ループ内で XML ファイルを動作させることが非常に簡単です。
以下は、アドインと Ian のループを組み合わせる 1 つの方法です。 パス変数、つまりコンピュータ上でアドインがインストールされている場所へのパスを設定する必要がある場合があることに注意してください。 また、このコードを拡張する場合は、アドインに含まれるコードですでに使用されている変数名を使用しないでください。そうしないと、問題が発生する可能性があります (例: 使えなかった私ループ反復子として)。
// Define path variable (may already be defined)
Set Path Variable("ADDIN_HOME", "Path/to/my/Addins");
// Define all the functions of the Addin but skip the GUI
Include("$ADDIN_HOME/com.jmp.matthew.wolfe.xml.importer/xml parser III.jsl") << close window;
dir = Pick Directory("Select the directory containing your files", "$DESKTOP");
fList = Files In Directory(dir);
myInfo = [];
For(filenr = 1, filenr <= N Items(fList), filenr++,
// Use Function from Addin to parse file into a data table
dt = runParser(dir || "/" || fList[filenr]);
//Extract your information here! (e.g n rows of dt)
myInfo |/= N Rows(dt);
//Close the data table
Close(dt, no save);
);
// Did it work? Summarize in a new data table
New Table("my xml files",
add rows(N Items(fList)),
New Column("Sample", character, Values(fList)),
New Column("n rows", numeric, values(myInfo))
);
Re: フォルダーの場所から複数の XML ファイルをインポートするこんにちは、デビッド、
XML アドインを確認してくださいhttps://community.jmp.com/docs/DOC-7728 。これと何の組み合わせでイアン@JMP提供されているので、すぐに始められるはずです。
一番、
スタン
Re: フォルダーの場所から複数の XML ファイルをインポートする申し訳ありませんが、問題は読み込みではなくループだと思いました。 はい、「LoadTextFile()」を使用して内容を JSL 変数に入れたら、XML を解析して必要なものを取り出す必要があります。 「ParseXML()」が役立つはずです。
Re: フォルダーの場所から複数の XML ファイルをインポートするイアン、
迅速な返信をありがとうございます。しかし、これを XML ファイルで動作させることができません。このタイプのファイルを開くには、XML ファイルを解析する必要がありますか、または他のテクニックが必要ですか?
よろしく
デビッド
Re: フォルダーの場所から複数の XML ファイルをインポートするもちろん、「Print()」の代わりに「Open()」を使用した次のようなものが必要になります。
dir = PickDirectory("Select the directory containing your files", "$DESKTOP");
fList = FilesInDirectory(dir);
for(i=1, i<=NItems(fList), i++,
Print(dir||"/"||fList[i]);
);