0

我想使用 xslt 从现有的 csv 文件生成 xml 文件。

谁能告诉我要使用的命令。

我不知道转换文件的命令。

假设我的 csv 文件名为:- source.csv 输出模板:- temp.xsl

命令:- msxsl source.csv temp.xsl -o result.xml

这是正确的命令吗?

4

2 回答 2

0

我没有足够的声誉来评论斯蒂芬的回答。

  • 所描述的转换高度依赖于定义参数 pathToCSV 和标识符为“main”的模板的 XSL 样式表
  • 该命令将不起作用,因为 Stephen 为家庭版的版本 9 编写了该命令;当我尝试按书面方式运行命令时,我得到“命令行选项 -o 需要一个值”的响应。但是,此命令格式在发布之日起有效:

    java -cp saxon9he.jar net.sf.saxon.Transform -o:csvfile.xml -it:main "csv2xml.xsl" pathToCSV="csvfile.csv"

  • 链接的 xsl 似乎有问题(可能尚未维护)并且不会正确转换所有 csv 文件(例如 Michael Kay 书中的 csv 示例)。但是,这是一个值得学习的好例子。

于 2013-08-30T20:12:52.497 回答
0

这是一个将 CSV 转换为 XML 的 XSL 文件:http: //andrewjwelch.com/code/xslt/csv/csv-to-xml_v2.html

要从命令行运行它,说明要下载Saxon并使用:

java -cp saxon.jar net.sf.saxon.Transform -o output.xml -it main csv-to-xml.xslt pathToCSV=file:/C:/dev/test.csv

以下是该命令行的部分解释:

  • javajava 可执行文件(编写撒克逊语的编程语言
  • -cp saxon.jar saxon.jar 包含 XSLT 代码,-cp 代表“类路径”并告诉 java 如何找到它
  • -o output.xml输出应该去哪里。那是result.xml在你的例子中。
  • -it main csv-to-xml.xslt指定 xslt 文件 (csv-to-xml.xslt) 和其中的入口点 (main)
  • pathToCSV=file:/C:/dev/test.csv您的输入 csv 文件(在您的示例中为 source.csv,但格式为 url)
于 2013-05-16T10:04:09.707 回答