【发布时间】:2021-09-27 16:53:00
【问题描述】:
我正在尝试将 XML here-string 插入 XML 文档。但是,保存的 XMLdoc 显示:“System.Xml.XmlDocument”,而不是内容。我该如何解决这个问题?
[xml] $Doc = New-Object System.Xml.XmlDocument
$updateNode = [xml] "<Update>
<Request>Test</Request>
</Update>"
#Create XML declaration
$declaration = $Doc.CreateXmlDeclaration("1.0","UTF-8",$null)
#Append XML declaration
$Doc.AppendChild($declaration)
#Create root element
$root = $Doc.CreateNode("element","BrowseDetailsRequest",$null)
#Create node based on Here-String
$node = $Doc.CreateElement("element",$updateNode,$null)
#Append node
$root.AppendChild($node)
#Append root element
$Doc.AppendChild($root)
此时输出:
<?xml version="1.0" encoding="UTF-8"?>
<BrowseDetailsRequest>
<System.Xml.XmlDocument />
</BrowseDetailsRequest>
【问题讨论】:
-
问题是“CreateElement()”不接受 XML 数据类型(第二个参数)。第二个参数是
string localName,它是新元素的本地名称。看CreateElement()的签名public virtual System.Xml.XmlElement CreateElement (string? prefix, string localName, string? namespaceURI);docs.microsoft.com/en-us/dotnet/api/…
标签: powershell xmldocument xmlnode