我希望使用Power
Shell来改变
XML.我无法使用XPath复制
XML.我可以加载XML,但我无法弄清楚如何使用XPath列出XML并使用我检索的内容创建另一个XML文件.
$doc = new-object "System.Xml.XmlDocument" $doc.Load("XmlPath.xml")
如果您使用的是PowerShell 2.0,则可以使用新的Select-Xml cmdlet根据XPath表达式选择xml,例如:
$xml = '<doc><books><book title="foo"/></books></doc>' $xml | Select-Xml '//book' Node Path Pattern ---- ---- ------- book InputStream //book
要删除节点:
PS> $xml =[xml]'<doc><books><book title="foo"/><book title="bar"/></books></doc>' PS> $xml | Select-Xml -XPath '//book' | Foreach {$_.Node.ParentNode.RemoveChild($_.Node)} title ----- foo bar PS> $xml.OuterXml <doc><books></books></doc>
然后保存到文件:
$xml.Save("$pwd\foo.xml") Get-Content foo.xml <doc> <books> </books> </doc>