【问题标题】:How do I run an XSLT file?如何运行 XSLT 文件?
【发布时间】:2010-12-08 02:04:01
【问题描述】:

好吧,这似乎是一个愚蠢的问题,但我无法弄清楚。我正在编写一个 XSLT 文件来将 XML 文档转换为 XHTML 文档。我已经使用 Visual Studio 和XML Notepad 2007 来预览我的 XSLT 文件的结果,但现在我想实际写出一个真正的 XHTML 文件,以便我可以看到它在其他浏览器中的外观。

Visual Studio 或 XML NotePad 都没有明显的方法来保存预览。我是不是错过了什么。很明显,文件正在创建,因为正在预览某些内容,但我需要知道该文件是在哪里创建的,或者更好的是选择它的位置。

【问题讨论】:

    标签: xml xslt


    【解决方案1】:

    你有两个选择:

    1. 让浏览器来做。通过引用 XSLT 的 XML 和浏览器(IE 6 或更低版本可能有问题)会将其呈现为 (X)HTML:

      <?xml-stylesheet type="text/xsl" href="http://www.example.com/my-xslt.xsl" ?>

    2. 在服务器端进行。大多数语言都有接受 XSLT 和 XML 数据,然后输出 (X)HTML 的方法。以下是一些选项:

    【讨论】:

    • @Thufir 我想我是用 Visio 做到的
    • 请注意,如果您的 XSLT 包含 C# 代码 sn-ps,则选项 1 可能不适用。
    【解决方案2】:

    在 Visual Studio 中,将 XML 文件添加到项目中。打开 XML 文件。当文件打开并且其窗口处于活动状态时,您应该会在“属性”窗口中看到可以指定输出文件名和样式表。此外,您应该看到菜单栏现在包含一个“XML”项。

    如果您从“XML”菜单中选择“显示 XSLT 输出”,VS 会将指定的转换应用到 XML 文件,将其输出写入您指定的文件,然后打开该文件。如果文件具有.xml 扩展名,它将在文本编辑器窗口中打开它;如果它有 .htm 扩展名,它会在浏览器窗口中打开它。

    它有点笨拙(在我看来,一个出现和消失而不是被启用/禁用的菜单有点奇怪),但它工作得很好,而且它在你已经在使用的工具中。

    【讨论】:

    • 嗯,我看到菜单点“显示 XSLT 输出”。运行 VS2012。我错过了什么吗?
    • 在 Visual Studio 2019 中,您可以按照此答案中的步骤操作,但在 XML 菜单中选择“Start XSLT without Debugging”选项。
    【解决方案3】:

    如果您不介意使用命令行并且 XSLT 1.0 就是您想要的:msxsl.exe

    【讨论】:

    • 对于 windows,我宁愿推荐 NXSLT 3.0 for 1.0,当然还有 Saxon for 2.0。
    • NXSLT 更好的原因是什么? (只是感兴趣。)
    • +1 是我当时最终使用的解决方案,但罗伯茨的解决方案会更好。
    • 请注意,msxsl.exe 的链接已失效...(反正它已经有 6 年历史了)microsoft.com/downloads/…
    • @Nasri 感谢您的提醒,我已经更新了答案。
    【解决方案4】:

    对于您不想经历安装痛苦的一次性任务,您可以使用https://www.freeformatter.com/xsl-transformer.html。我声明我没有经常使用这个网站。

    【讨论】:

      【解决方案5】:

      有很多第三方软件。其中之一是“氧气 XML 编辑器”。 在这个软件中,简单地说:

      1. 打开你的 .xml
      2. 打开你的 .xslt
      3. 单击工具栏中的“运行”查看结果(输出将在右侧面板中)。
      4. 如果要保存结果,在右侧面板中右击结果并选择“保存...”
      5. 如果您遇到问题,可能需要在工具栏中进行更改处理:“Xalan,Saxon,Saxon-HE,saxon-PE,...”

      【讨论】:

      • 它相当昂贵(“99 美元起”),所以可能有更好的答案可以帮助更多人。
      • @dakab 你是对的!但这是答案之一,也许可以帮助某人!
      • C#领域有一些不错的文章,如:linkarticle
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-17
      • 2021-03-31
      • 2011-12-13
      • 2012-01-24
      • 2012-02-05
      • 1970-01-01
      相关资源
      最近更新 更多