从PowerShell保存格式良好的XML

前端之家收集整理的这篇文章主要介绍了从PowerShell保存格式良好的XML前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我创建一个这样的XmlDocument:
$doc = New-Object xml

然后,在填充节点后,我保存:

$doc.Save($fileName)

问题是它不会将XML声明添加到文档的开头,导致格式不正确的文档.换句话说,它只保存片段.如何添加正确的XML声明?

您需要使用 XmlTextWriter类来格式化输出.以下是一个示例,尽管您可能希望根据您添加标题的任何特定需求进行演示:
$doc = [xml]"<html>Value</html>"
$sb = New-Object System.Text.StringBuilder
$sw = New-Object System.IO.StringWriter($sb)
$writer = New-Object System.Xml.XmlTextWriter($sw)
$writer.Formatting = [System.Xml.Formatting]::Indented
$doc.Save($writer)
$writer.Close()
$sw.Dispose()

后来,通过在StringBuilder对象上调用ToString方法,可以看到以下输出

PS C:\> $sb.ToString()
<?xml version="1.0" encoding="utf-16"?>
<html>Value</html>

猜你在找的XML相关文章