PDA

Показать полную графическую версию : Помещение узла в определенное место XML-файла.


Йожык
09-05-2021, 09:42
День добрый.
Сам программистом не являюсь, просто пишу небольшие скрипты для облегчения своей рутины, поэтому терминологией не владею, за что прошу меня понять и простить.
Существует задача:
Имеется вот такой 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
Реально ли это вообще в 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
Спасибо. Все заработало. А может подскажете, что можно почитать для взаимодействия XML и PS начиная с азов? А то, ну совсем ничего не находится... :dont-know

Iska
10-05-2021, 04:00
Давайте так — как у Вас по самому XML, и как по Powershell?

Йожык
10-05-2021, 08:19
PS - elementary
XML - beginner

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

А так — да:
А то, ну совсем ничего не находится... »
powershell xml - Поиск в Google (https://www.google.com/search?q=powershell+xml) и — выбирать, читать. На русском ничего вменяемого и полноценного мне лично неизвестно.




© OSzone.net 2001-2012