从目录中的多个xmls中提取值并将它们放在xls工作表中

时间:2012-01-16 17:21:23

标签: xml xslt excel-vba xslt-1.0 vba

我是xslt的新手。我的问题是这样的:

我有一个目录,其中存储了许多xml文档。这些文档包含类似的节点结构。我现在需要做的是编写一个样式表来从这些xml中提取一组元素,如日期,数量,系统等,并将它们放在excel表格中(最好以表格的形式。

任何帮助将不胜感激。感谢

1 个答案:

答案 0 :(得分:2)

使用Windows上的VBA,您应该能够to automate AltovaXML并使用其XSLT 2.0 collection function来访问目录中的所有XML文件并进行处理。

如果您真的想使用XSLT 1,0来处理目录中的多个文件,那么您需要向XSLT 1.0处理器提供一个列出文件的XML文档,例如:你需要建立一个文件dir.xml

<files>
  <file>doc1.xml</file>
  <file>doc2.xml</file>
</files>

然后你可以使用例如<xsl:apply-templates select="document(document('dir.xml')/files/file))//foo"/>来处理所有文件中的foo元素。