Category Archives: Софт

Экспорт файлов XML

Экспорт файлов XML

Вы можете экспортировать объект Xml Document в файл, используя Export-Clixml.

Как и Export-Csv, команда Export-Clixml требует имя файла. Рассмотрим такие команды:

 

$Data = [Xml] (Get-Content Sample.xml)

SData I Export-Clixml Data.xml Первая команда импортирует Sample.xml (листинг) в качестве объекта XmlDocumcnt. Вторая команда экспортирует объект Xml Document в Data.xml.

Import-Clixml противоположна Export-Clixml. Import-Clixml возвращает файл XML, который был экспортирован Export-Clixml в качестве объекта XmlDocumcnt. Например, в следующей команде Import-Clixml возвращает Data, xml:

Эта команда производит точно такой же вывод данных

После ввода команды переменная $Data содержит объект Xml Document.

Эта команда производит точно такой же вывод данных

Объект Xml Document включает два свойства: xml (элемент в верхней части файла) и базу данных (корневой элемент). Вы можете вывести данные из файла ХМ L так: $Data.database.record Эта команда производит точно такой же вывод данных, как показано на экране 2: выводит данные трех объектов с двумя свойствами для каждого (DisplayName и Mail). Если данные файла XML, который вы хотите импортировать, были сохранены Export-Clixml, вам не нужен дополнительный акселератор типа |Xml] и команда Get-Content. Вместо них вы можете использовать Import-Clixml, о чем я расскажу в следующем разделе.

Импорт файлов XML

XML представляет собой другой тип текстового файла, который хранит структурированные данные.

Импорт файлов XML

В листинге приведен пример представления в XML данных из таблицы. Данные в документе XML организованы в иерархическом порядке. В Sample.xml (листинг) у вас есть корневой элемент () и три дочерних элемента (). Элементы располагаются в парах и содержат другие элементы. Открывающий элемент использует угловые скобки вокруг своего имени, а закрывающий элемент использует косую черту перед именем элемента. Когда вы работаете с данными ХМ L в PowerShell, вы должны иметь единственный корневой элемент. Другие элементы содержатся внутри корневого элемента.

Экспорт файлов CSV

Экспорт файлов CSV

Иногда бывает необходимо создать файл CSV из выводимых данных объектов PowerShell. Чтобы это сделать, вы используете конвейер PowerShell для направления данных команде Export-Csv и указываете имя файла. PowerShell запишет выводимые данные объектов в файл CSV. Это просто, но есть одна небольшая хитрость. По умолчанию Export-Csv пишет строку, начинающуюся с символов #TYPE, в качестве первой строки файла CSV. Параметр -NoTypclnformation в Export-Csv опускает эту дополнительную строчку при выводе данных, поэтому я обычно указываю данный параметр.

PowerShell воспринимает первую строку файла CSV как свойства объекта

PowerShell воспринимает первую строку файла CSV как свойства объекта

PowerShell воспринимает первую строку файла CSV как свойства объекта, а последующие строки файла являются выводимыми объектами. Например, если вы запускаете команду Import-Csv Sample.csv, то PowerShell выведет три объекта с двумя свойствами для каждого: DisplayName и Mail.

Если файл CSV, который вы хотите импортировать, не имеет строки заголовка, вы можете использовать параметр -Header для наименования свойств объекта. Таким образом, если бы в Sample 1.csv отсутствовала первая строка (заголовок), вы бы использовали команду, например:

Import-Csv Sample.csv -Header DisplayName, EmailAddress

Import-Csv использует символ запятой, так как это разделитель по умолчанию, но вы можете применить параметр -Delimiter для определения иного символа для разделителя. Например, если бы Sample.csv использовал символ «табуляции» в качестве разделителя, вы бы вводили такую команду: