@TechNOIR

Powershell+XML. Как привести блок XML из одного файла к виду другого файла?

Добрый день.
С помощью Powershell хочу автоматизировать массовое измение xml шабонов.
Есть 2 файл которые имею одинаковую структуру но разные контролы и надо привести их к общему виду.
file1.xml это эталон. надо привести содержимое группы Tester в file2.xml к виду эталона.

Как это правильно сделать? ReplaceChild или сначала очистить группу и потом ImportNode?

Весьма благодарен заранее за помощь

#file1.xml
<?xml version="1.0" encoding="utf-8"?>
<FORM>
<Group>
  <Column PercentWidth="20">
    <Group Label="Tester">
      <Column PercentWidth="100">
            <Control FieldName="Microsoft.VSTS.Scheduling.StoryPoints" Type="FieldControl" Label="Label1" LabelPosition="Left" />
            <Control FieldName="Microsoft.VSTS.Common.Priority" Type="FieldControl" Label="Label2" LabelPosition="Left" />
            <Control FieldName="Microsoft.VSTS.Common.Severity" Type="FieldControl" Label="Label3" LabelPosition="Left" />
      </Column>
    </Group>
  </Column>
</Group>
</FORM>


#file2.xml
<?xml version="1.0" encoding="utf-8"?>
<FORM>
<Group>
  <Column PercentWidth="20">
    <Group Label="Tester">
      <Column PercentWidth="100">
			<Control FieldName="Microsoft.VSTS.Common.Severity" Type="FieldControl" Label="Label1" LabelPosition="Left" />
			<Control FieldName="Microsoft.VSTS.Common.Priority" Type="FieldControl" Label="Label2" LabelPosition="Left" />
			<Control FieldName="Microsoft.VSTS.Scheduling.StoryPoints" Type="FieldControl" Label="Label4" LabelPosition="Left" />
      </Column>
    </Group>
  </Column>
</Group>
  • Вопрос задан
  • 141 просмотр
Пригласить эксперта
Ответы на вопрос 1
@MaxKozlov Куратор тега PowerShell
Совершенно непонятно что имеется ввиду под "....но разные контролы и надо привести их к общему виду."
Имеется ввиду порядок элементов "FieldName", номера Label или ещё что-то ?

Или надо полностью заменить содержимое Group ?
Например так
$x1 = [xml]$xml1
$x2 = [xml]$xml2
$x2.FORM.Group.InnerXml = $x1.FORM.Group.InnerXml
?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы