在PSCX中有一个命令名为convert,它使用XSL将XML转换为HTML。在我的一生中,我无法弄清楚要让它起作用的语法。
我知道我需要为XML输入、XSLT样式表和HTML输出提供路径。
如何使用C:\output.html将C:\input.xml转换为C:\style.xslt?
发布于 2018-07-13 13:53:34
在问题中反反复复地评论一下,但我确信这是正确的答案:
Convert-Xml -Path input.xml -XsltPath style.xslt -OutputPath output.html但是,正如您已经注意到的,您使用的是PSCX的2.1,它非常过时,似乎不支持-OutputFile参数。您可以尝试使用HTML或重定向操作符将呈现的Out-File文档输出到如下文件:
# 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 )https://stackoverflow.com/questions/51312940
复制相似问题