Во-первых, поскольку это приводит к моему вопросу, я начну с того, что замечательно поработал с XML в PowerShell, и мне нравится, как я могу быстро считывать данные из файлов XML в массивы пользовательских объектов. Например, если у меня был следующий файл XML:
<stuff>
<item name="Joe" age="32">
<info>something about him</info>
</item>
<item name="Sue" age="29">
<info>something about her</info>
</item>
<item name="Cat" age="12">
<info>something else</info>
</item>
</stuff>
И если я прочитаю это просто, вот так:
[xml]$myxml = Get-Content .\my.xml
Затем я могу получить массив моих предметов, как это:
[array]$myitems = $myxml.stuff.Item
$myitems
name age info
---- --- ----
Joe 32 something about him
Sue 29 something about her
Cat 12 something else
Итак, теперь мой вопрос:
Как я могу создать похожую структуру массива пользовательских объектов и инициализировать их в своем скрипте, не читая файл?
Я могу сделать много циклов и/или много создания/инициализации отдельных объектов, а затем добавлять в массив по одному...
Но, похоже, должен быть способ выполнить это создание/инициализацию более простым способом. Обратите внимание, что ключевым моментом здесь является то, что мои пользовательские объекты имеют более двух элементов (в противном случае я бы использовал хеш).
Я даже смотрел на создание большой строки XML и использование Select-XML, но я просто не мог понять правильный синтаксис (если это был даже правильный путь, чтобы идти вниз).