2
[xml]$xml = @"
<?xml version="1.0" encoding="UTF-8"?>
<root>
<elementLevel1>
<elementLevel2>text node 1</elementLevel2>
<elementLevel2>text node 2</elementLevel2>
<elementLevel2>text node 3</elementLevel2>
<elementLevel2>text node 4</elementLevel2>
</elementLevel1>
<elementLevel1>
<elementLevel2>text node 1</elementLevel2>
<elementLevel2>text node 2</elementLevel2>
<elementLevel2>text node 3</elementLevel2>
<elementLevel2>text node 4</elementLevel2>
</elementLevel1>
</root>
"@
foreach($level1 in $xml.root.elementLevel1)
{
Write-Host("Type of elementLevel1: " + $level1.GetType())
Write-Host("Type of elementLevel2 in outer loop: " + $level1.elementLevel2.GetType())
foreach($level2 in $level1.elementLevel2)
{
Write-Host("Type of elementLevel2 in inner loop: " + $level2.GetType())
}
}
產量:PowerShell的:嵌套的XML元素是字符串類型,而不是XmlElement的
Type of elementLevel1: System.Xml.XmlElement
Type of elementLevel2 in outer loop: System.Object[]
Type of elementLevel2 in inner loop: string
Type of elementLevel2 in inner loop: string
Type of elementLevel2 in inner loop: string
Type of elementLevel2 in inner loop: string
Type of elementLevel1: System.Xml.XmlElement
Type of elementLevel2 in outer loop: System.Object[]
Type of elementLevel2 in inner loop: string
Type of elementLevel2 in inner loop: string
Type of elementLevel2 in inner loop: string
Type of elementLevel2 in inner loop: string
我的最終目標是改變每個elementLevel2的文本節點,但你不能修改的的InnerXml屬性字符串,並且不能將字符串強制轉換爲[System.Xml.XmlElement]
。我如何強制類型系統認爲elementLevel2是一個XmlElement?
謝謝,這使我擺脫了我的果醬。 – Dzejms