0

PSCX 中有一个名为 Convert-XML 的命令行开关,它使用 XSL 将 XML 转换为 HTML。我一生都无法弄清楚让它工作的语法。

我知道我需要为 XML 输入、XSLT 样式表和 HTML 输出提供路径。

如何使用C:\style.xsltC:\input.xml转换为C:\output.html

4

1 回答 1

1

在问题评论中来回了一下,但我确定这是正确的答案:

Convert-Xml -Path input.xml -XsltPath style.xslt -OutputPath output.html

但是,正如您所指出的,您使用的是 PSCX 2.1,它已经过时并且似乎不支持该-OutputFile参数。您可以尝试使用Out-Filecmdlet 或重定向运算符将呈现的 HTML 文档输出到文件,如下所示:

# Using Out-File
Convert-Xml -Path input.xml -XsltPath style.xslt | Out-File output.html

# Using redirection operator (>)
Convert-Xml -Path input.xml -XsltPath style.xslt > output.html

请注意,两者都Out-File>字节顺序标记 (BOM) 添加到您的文件中。如果这是不可取的,您可以这样做以在没有 BOM 的情况下写入文件:

# Save the converted HTML to a variable
$htmlDoc = Convert-Xml -Path input.xml -XsltPath style.xslt

# Create a new UTF8 encoding with no BOM
$UTF8EncodingNoBom = New-Object System.Text.UTF8Encoding( $False )

# Write to file using the no-BOM encoding
[System.IO.File]::WriteAllText( 'output.html', $htmlDoc, $UTF8EncodingNoBom )
于 2018-07-13T13:53:34.943 回答