從文件夾位置導入多個 xml 文件<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />我有一個包含大量 xml 文件的文件夾,我想打開這些文件、從中提取信息、單獨保存這些新信息,然後關閉這兩個文件。 我可以使用“導入 xml”加載項單獨執行此操作,但希望自動瀏覽完整的文件夾,以減少我在執行此操作時花費的精力和時間。
我附上了一個包含 xml 文件的示例文件夾,以幫助任何人有時間執行此操作。
問候
大衛
回复:從文件夾位置導入多個 xml 文件只是為了更新任何搜索此內容的人......
現在可以在 JMP 15 中輕鬆處理此問題XML 導入嚮導和導入多個文件。
您可以在單個文件上使用導入嚮導來定義 XML 結構。 然後從源腳本複制 XML 設置並粘貼到“導入多個文件”對話框中的“設置”中。
回复:從文件夾位置導入多個 xml 文件該插件代碼組織得非常好,可以通過運行一個“主”函數來訪問其所有功能和功能。 因此,在這裡很容易繞過插件的 GUI 並讓它在循環中處理您的 xml 文件。
下面是將插件與 Ian 循環結合起來的一種方法。 請注意,您可能需要設置路徑變量,即計算機上安裝插件的路徑。 另外,如果擴展此代碼,請避免使用插件中包含的代碼已使用的變量名稱,否則您可能會遇到問題(例如 我無法使用我作為循環迭代器)。
// 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))
);
回复:從文件夾位置導入多個 xml 文件嗨大衛,
查看 XML 插件https://community.jmp.com/docs/DOC-7728 。這與什麼結合伊恩@JMP提供應該可以讓你繼續。
最好的,
斯坦
回复:從文件夾位置導入多個 xml 文件抱歉,我認為問題在於循環,而不是讀入。 是的,一旦您使用“LoadTextFile()”將內容放入 JSL 變量中,您將需要解析 XML 以提取您想要的內容。 “ParseXML()”應該有幫助。
回复:從文件夾位置導入多個 xml 文件伊恩,
感謝您的及時回复,但我無法讓它與 xml 文件一起使用,我是否需要解析這些文件或其他一些技術來打開這種類型的文件?
問候
大衛
回复:從文件夾位置導入多個 xml 文件您將需要這樣的東西,當然使用“Open()”而不是“Print()”:
dir = PickDirectory("Select the directory containing your files", "$DESKTOP");
fList = FilesInDirectory(dir);
for(i=1, i<=NItems(fList), i++,
Print(dir||"/"||fList[i]);
);