Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Помещение узла в определенное место XML-файла. (http://forum.oszone.net/showthread.php?t=348706)

Йожык 09-05-2021 09:42 2957377

Помещение узла в определенное место XML-файла.
 
День добрый.
Сам программистом не являюсь, просто пишу небольшие скрипты для облегчения своей рутины, поэтому терминологией не владею, за что прошу меня понять и простить.
Существует задача:
Имеется вот такой 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, или не стоит даже пытаться?

Iska 09-05-2021 11:49 2957383

Цитата:

Цитата Йожык
Реально ли это вообще в 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')


Йожык 09-05-2021 12:51 2957389

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

Iska 10-05-2021 04:00 2957443

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

Йожык 10-05-2021 08:19 2957454

PS - elementary
XML - beginner

Iska 11-05-2021 04:19 2957503

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

А так — да:
Цитата:

Цитата Йожык
А то, ну совсем ничего не находится... »

powershell xml - Поиск в Google и — выбирать, читать. На русском ничего вменяемого и полноценного мне лично неизвестно.


Время: 09:48.

Время: 09:48.
© OSzone.net 2001-