使用 PSCX Convert-XML 将 XML 转换为 HTML 的语法是什么?

What is the syntax for converting XML to HTML using PSCX Convert-XML?

PSCX 中有一个名为 Convert-XML 的命令行开关,它使用 XSL 将 XML 转换为 HTML。我这辈子都想不出让它工作的语法。

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

如何使用 [=19] 将 C:\input.xml 转换为 C:\output.html =]C:\style.xslt?

在问题评论中有点来回,但我确定这是正确答案:

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

但是,正如您所指出的,您使用的是 PSCX 的 2.1,它已经过时并且似乎不支持 -OutputFile 参数。您可以尝试使用 Out-File cmdlet 或重定向运算符将呈现的 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 )