Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Помещение узла в определенное место XML-файла.

Ответить
Настройки темы
PowerShell - Помещение узла в определенное место XML-файла.

Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


День добрый.
Сам программистом не являюсь, просто пишу небольшие скрипты для облегчения своей рутины, поэтому терминологией не владею, за что прошу меня понять и простить.
Существует задача:
Имеется вот такой XML
Код: Выделить весь код
<?xml version="1.0"?>
<ConfigurationManifest>
  <General>
    <Name>FileName</Name>
    <PreviewImage>image.jpg</PreviewImage>
    <LastClientIdentifier>Lastclient</LastClientIdentifier>
    <Created date="10/20/2020 22:20:23" />
    <LastModified date="05/08/2021 22:31:12" />
  </General>
</ConfigurationManifest>
Необходимо между <Name> и <PreviewImage> поместить узел <Description>Bla-Bla-Bla</Description>. Все что я не пробовал, помещает только в конец, после <LastModified>, что недопустимо т.к. программа, которой нужен этот xml, понимает только такую структуру. Реально ли это вообще в Powershell, или не стоит даже пытаться?

Отправлено: 09:42, 09-05-2021

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата Йожык:
Реально ли это вообще в Powershell »
Конечно. Например, так:
Код: Выделить весь код
$oXMLDocument = [xml](Get-Content -Path 'C:\Мои проекты\0342\In.txt')

$oChildNode = $oXMLDocument.CreateElement("Description")
$oChildNode.AppendChild($oXMLDocument.CreateTextNode('bla-bla-bla')) | Out-Null

$oRefNode = $oXMLDocument.DocumentElement.SelectSingleNode('/ConfigurationManifest/General/PreviewImage')
$oRefNode.ParentNode.InsertBefore($oChildNode, $oRefNode) | Out-Null

$oXMLDocument.Save('C:\Мои проекты\0342\Out.txt')
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:49, 09-05-2021 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо. Все заработало. А может подскажете, что можно почитать для взаимодействия XML и PS начиная с азов? А то, ну совсем ничего не находится...

Отправлено: 12:51, 09-05-2021 | #3


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Давайте так — как у Вас по самому XML, и как по Powershell?

Отправлено: 04:00, 10-05-2021 | #4


Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


PS - elementary
XML - beginner

Отправлено: 08:19, 10-05-2021 | #5


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Тогда я бы не советовал начинать с взаимодействия XML и именно Powershell. Попробуйте с XML что-нибудь попроще, из того, что знаете — WSH/VBA/VB.Net/Delphi/C++/C# — если знаете. А потом уже переходить к XML под Powershell, держа в голове уже освоенные приёмы работы.

А так — да:
Цитата Йожык:
А то, ну совсем ничего не находится... »
powershell xml - Поиск в Google и — выбирать, читать. На русском ничего вменяемого и полноценного мне лично неизвестно.

Отправлено: 04:19, 11-05-2021 | #6



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Помещение узла в определенное место XML-файла.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - копирование выбранного файла в определенное место и добавление к имени файла даты x800 Скриптовые языки администрирования Windows 0 19-02-2014 20:39
VBS/WSH/JS - Нужен VBS скрипт для поиска файлов по маске и копирование его в определенное место exekill Скриптовые языки администрирования Windows 0 17-03-2012 10:46
CMD/BAT - [решено] Копирование файла с http-узла на локальный компьютер sea707 Скриптовые языки администрирования Windows 5 06-06-2011 02:40
переместиться на определенное место в списке bruder Вебмастеру 9 27-03-2009 14:27
[решено] проверка XML-файла на соответствие XML schema в IE 6 и Firefox 2 dimait Вебмастеру 4 23-08-2007 02:02




 
Переход