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

时间:2018-07-12 19:15:18

标签: xml powershell xslt pscx

PSCX中有一个名为Convert-XML的命令行程序,该命令行程序使用XSL将XML转换为HTML。我一辈子都想不出语法来使其正常工作。

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

如何使用 C:\ style.xslt C:\ input.xml 转换为 C:\ output.html ?< / p>

1 个答案:

答案 0 :(得分:1)

在问题注释中来回走了一点,但我确定这是正确的答案:

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 )