2013-07-27 2 views
1

Я читаю следующий файл в powershell.Добавить атрибут xml "xsi: nil"

<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: ноль = "истинный"

так Файл указан как

<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> 

Большое спасибо за любые советы.

ответ

4

Используйте SetAttribute() и укажите URI пространства имён.

$node = $XmlDoc.SelectSingleNode('//nested1/level2') 
$node.SetAttribute('nil', 'http://www.w3.org/2001/XMLSchema-instance', 'true') | 
    Out-Null 
Смежные вопросы