如何使用 PowerShell 注释掉 XML 中的节点? [英] How can I comment out a node in XML using PowerShell?
本文介绍了如何使用 PowerShell 注释掉 XML 中的节点?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
是否可以注释掉 XDocument 中的节点?
Is it possible to comment out a node in an XDocument?
我有以下标签.
<abc key="test" value="samplevalue"></abc>
我不必移除节点;我只希望它以注释格式出现在 XML 文件中.我可以使用这样的东西:
I don't have to remove the node; I just want it to be there in the XML file in commented format. I can use something like this:
$node = $xml.selectSingleNode('//abc')
#$node.OuterXml.Insert(0,"#");
$node.$xml.Save("c:\test.xml")
但是如果一个节点像这样分成两行
But if one node spreads in two lines like
<abc key="test" value="sampleValue">
</abc>
那我怎么处理这种情况?
then how do I handle this case?
推荐答案
XML 中的注释使用 完成.试试这个:
Comments in XML are done with <!--
and -->
. Try this:
$xml = [xml]@"
<root>
<abc key="test" value="samplevalue"></abc>
<abc key="sa" value="dsad">sda
</abc>
</root>
"@
$node = $xml.selectSingleNode('//abc')
#OuterXML is read-only, so I took an alternative route
$node.ParentNode.InnerXml = $node.ParentNode.InnerXml.Replace($node.OuterXml, $node.OuterXml.Insert(0, "<!--").Insert($node.OuterXml.Length+4, "-->"))
$xml.Save("c:\test.xml")
测试.xml
<root>
<!--<abc key="test" value="samplevalue"></abc>-->
<abc key="sa" value="dsad">sda
</abc>
</root>
这篇关于如何使用 PowerShell 注释掉 XML 中的节点?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文