【发布时间】:2015-07-07 23:38:20
【问题描述】:
我想知道是否可以在 PowerShell 中将 Xml 文档转换为 Xml 节点。所以之后,我可以获取每个属性,甚至可以将节点附加到另一个 Xml 文件中。
我找到了“Import-Clixml”,但我收到了一个错误,我想我知道如何解决,但我想知道我是否可以绕过它。
Import-Clixml : Element 'Objs' with namespace name 'http://schemas.microsoft.com/powershell/2004/04' was not found. Line 2, position 2.
At line:1 char:1
+ Import-Clixml .\FLSCHOBVWCGRB1.xml
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Import-Clixml], XmlException
+ FullyQualifiedErrorId : System.Xml.XmlException,Microsoft.PowerShell.Commands.ImportClixmlCommand
编辑:
不转换 XmlDocument 并附加到另一个 XmlDocument
这是我使用的 PowerShell 脚本:
$xml = New-Object XML
$xml.load('c:\Users\Acer\Desktop\big.xml')
$servers = Select-Xml -Xml $xml -XPath '//SERVERS'
$doc = [Xml](gc 'c:\Users\Acer\Desktop\node.xml')
$servers.Node.AppendChild($doc)
这是错误:
Exception calling "AppendChild" with "1" argument(s): "The specified node cannot be inserted as the valid child of this node, because the specified node is the wrong type."
At line:6 char:1
+ $servers.Node.AppendChild($doc)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodException
【问题讨论】:
-
XmlDocument继承自XmlNode,这意味着每个XmlDocument都是XmlNode,不需要转换。 -
所以,你可以追加/插入/前置/等。到另一个
XmlDocument? -
我不明白为什么你不能这样做。你尝试任何代码吗?是否抛出异常或产生意外结果?
-
请查看编辑。代码可能是错误的。我是新手。
标签: powershell