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 있습니다 = "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> 

많은 조언을 주셔서 감사합니다.

답변

4

SetAttribute()을 사용하고 네임 스페이스 URI를 제공하십시오.

$node = $XmlDoc.SelectSingleNode('//nested1/level2') 
$node.SetAttribute('nil', 'http://www.w3.org/2001/XMLSchema-instance', 'true') | 
    Out-Null