habe ich die folgenden einfache XML-DateiPowershell XML-Attribut zu gieße konkreten Datentyp
<?xml version="1.0" encoding="utf-8"?>
<MyRoot
MyGuid="99999999-9999-9999-9999-999999999999"
>
</MyRoot>
und Code
[xml]$xml = Get-Content "C:\myfile.xml"
$unTypeVariable = $xml.MyRoot | Select MyGuid
Write-Host "unTypeVariable = '$unTypeVariable'"
[GUID]guidValue = [GUID]($unTypeVariable)
dritte Zeile Ausgabe:
unTypeVariable = '@{MyGuid=99999999-9999-9999-9999-999999999999}'
In der letzten Zeile, ich behalte immer eine Cast Exception (direkt darunter). Ich verstehe es, aber ich weiß nicht, wie man es löst.
Kann das "@ {MyGuid = 99999999-9999-9999-9999-999999999999}" nicht konvertieren Wert vom Typ "Selected.System.Xml.XmlElement" eingeben "System.Guid".
Ich habe versucht:
[GUID]guidValue = [GUID]($unTypeVariable.Text)
[GUID]guidValue = [GUID]($unTypeVariable.Value)
[GUID]guidValue = [GUID]($unTypeVariable.InnerText)
[GUID]guidValue = [GUID]($unTypeVariable.'#text')
Es ist wahrscheinlich etwas dumm.
Ich bin kein Powershell-Guru.