从文件夹位置导入多个xml文件<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />我有一个包含许多我想打开的xml文件的文件夹,从中提取信息,单独保存这些新信息,然后关闭这两个文件。我可以使用'Import xml'加载项单独执行此操作,但希望自动浏览完整的文件夹以减少我花在这上面的工作量和时间。
我已经附加了一个带有xml文件的示例文件夹,以帮助任何人有时间执行此操作。
问候
大卫
回复:从文件夹位置导入多个xml文件嗨大卫,
查看XML插件 https://community.jmp.com/docs/DOC-7728 。 这与什么结合伊恩@ JMP 提供应该让你去。
最好,
斯坦
回复:从文件夹位置导入多个xml文件对不起,我认为问题是循环,而不是阅读。是的,一旦使用'LoadTextFile()'将内容放入JSL变量,您将需要解析XML以提取您想要的内容。'ParseXML()'应该有所帮助。
回复:从文件夹位置导入多个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文件您将需要这样的东西,当然要用“ 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]);
);
回复:从文件夹位置导入多个xml文件只是为了更新任何对此进行搜索的人...
现在,在JMP 15中,使用 XML导入向导和导入多个文件 。
您可以在单个文件上使用导入向导来定义XML结构。然后从“源”脚本复制XML设置,然后粘贴到“导入多个文件”对话框的“设置”中。