从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>

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念