我有以下的Powershell代码,执行时$b4
有一个字符串值,但是一旦我以任何方式修改DOM并尝试访问XmlDocument属性,例如OuterXml,我就没有任何价值$after
。
我认为这是某种类型的铸造问题,但我无法确定原因。
$xml = [xml]"<root></root>"
$comment = $xml.CreateComment("<!-- added from comment -->" )
$b4 = $xml.OuterXml #this has a value as expected
$xml.FirstChild.AppendChild($comment)
$after = $xml.OuterXml #This is empty string or null
如何在修改DOM后获得$ xml的OuterXml值?
答案 0 :(得分:1)
根据我的理解,您只需在创建评论时删除<!--
和-->
。像这样:
$xml = [xml]"<root></root>"
$comment = $xml.CreateComment("added from comment") #From here
$b4 = $xml.OuterXml #this has a value as expected
$xml.FirstChild.AppendChild($comment)
$after = $xml.OuterXml #Not null