从PowerShell保存格式良好的XML

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

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

  1. $doc.Save($fileName)

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

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

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

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

猜你在找的XML相关文章