Добавить атрибут xml "xsi:nil"
Я читаю следующий файл в powershell.
<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<nested1>
<level1 xsi:nil="true" />
<level2>2</level2>
</nested1>
<nested2>
<level1 xsi:nil="true" />
<level2>2</level2>
</nested2>
</root>
с помощью...
[xml]$XmlDoc = get-content $XMLFile
Я хотел бы установить $XmlDoc.root.nested1.level2, чтобы он имел атрибут xsi:nil="true"
поэтому файл выглядит как
<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<nested1>
<level1 xsi:nil="true" />
<level2 xsi:nil="true" />
</nested1>
<nested2>
<level1 xsi:nil="true" />
<level2>2</level2>
</nested2>
</root>
Большое спасибо за любой предложенный совет.
1 ответ
Решение
Использование SetAttribute()
и предоставить URI пространства имен.
$node = $XmlDoc.SelectSingleNode('//nested1/level2')
$node.SetAttribute('nil', 'http://www.w3.org/2001/XMLSchema-instance', 'true') |
Out-Null