PSCX中有一个名为Convert-XML的命令行程序,该命令行程序使用XSL将XML转换为HTML。我一辈子都想不出语法来使其正常工作。
我知道我需要为XML输入,XSLT样式表和HTML输出提供路径。
如何使用 C:\ style.xslt 将 C:\ input.xml 转换为 C:\ output.html ?< / p>
答案 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 )