Теперь я хочу загрузить его в переменную [xml], чтобы иметь возможность манипулировать ее узлами и т.д.
Строка ниже приводит к ошибке...
$str = [xml]"<a><b></b></a>"
Как это сделать?
Ответ 1
Код в вашем вопросе, кажется, работает для меня. Я просто добавил test в моей строке, чтобы показать, что могу получить доступ к значению, но оно должно работать и без него.
... и я запустил его с твоей строкой, и он работал нормально... Full Image
Ответ 2
В интересах поисковиков, если у вас есть верхняя строка xml, которая включает в себя форматирование (а не прямо в корневой директории node), вам нужно удалить верхнюю строку, прежде чем вы сможете ее отличить
$xmlFile = Get-Content "*.xml"
$xmlFileMinusFormatData = $xmlFile[1..($xmlFile.Length - 1)] #we need to remove the first line
$usableXml = [xml]$xmlFileMinusFormatData # Convert to xml for easy handling
$usableXml.Courses.CourseEntry.Count # just a count of rows
Ответ 3
Попробуйте это
$xmlcontent = variable which holds xml data in string
$xml = New-Object -TypeName System.Xml.XmlDocument
$xml.LoadXml($xmlcontent)