2015-07-05 64 views
1

我需要使用Powershell從更大的XML文檔中提取節點(和子節點),並創建一個新的獨立XML文檔,其中只包含提取的XML節點(和子節點);那麼我需要將這個新提取的XML保存在一個文件中。正在提取的頂級XML節點具有屬性。看來,我將不得不設置新的XML對象的XMLDocument值來執行此操作,但XMLDocument是一個只讀屬性。誰能幫忙?如何提取XML節點並創建新的XML文檔

回答

5

的關鍵是使用XmlDocument.ImportNode()方法例如爲:

$xml1 = [xml](Get-Content foo.xml) 
# find the node you want to extract 
$node = $xml1.Foo.Bar 

$xml2 = New-Object System.Xml.XmlDocument 
$newNode = $xml2.ImportNode($node, $true) 
$xml2.AppendChild($newNode) 
$xml2.Save("bar.xml") 
+0

謝謝。我沒有找到這樣一個簡潔正確的答案。 –