这是我的示例XML数据,请忽略任何语法错误或一些缺失的XML功能。 任务是对上面的部分进行注释,并取消对下面部分的注释。
<?xml version="1.0" encoding="UTF-8"?>
<providersbeans xmlns="http://www.springframework.org/schema/providers"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dns="http://www.springframework.org/schema/dns"
xsi:schemaLocation="http://www.springframework.org/schema/dns/spring-dns.xsd">
<!-- COMMENT THIS SECTION -->
<dns:auth-head alias="authHead">
<dns:user-generator>
<dns:user-data>
<!-- USER AA -->
<dns:user name="AA"
password="AAAAAAAAAAAAAAAA" role="ROLE_AA" />
<!-- USER BB -->
<dns:user name="BB"
password="XXXXXXXXXXXXXXX" role="ROLE_BB" />
</dns:user-data>
</dns:user-generator>
</dns:auth-head>
<!-- UNCOMMENT THIS SECTION-->
<!--
<bean id="authHead" class="org.xx.providers">
<property name="providers">
<list>
<ref bean="AuthProvider"/>
</list>
</property>
</bean>
-->
</providersbeans>
我尝试了一些解决方案,但由于其中有一个前缀,无法成功。其中一个我仅作注释的代码是这样的:
$getxmlpath='C:\Powershell\securityfile.xml'
$xml=[xml](Get-Content $getxmlpath)
$xml.SelectNodes("//auth-head") | ForEach-Object # used with prefix as well, but didnt work
{
$var= $_;
$mycomment = $xml.CreateComment($var.OuterXml);
$var.ParentNode.ReplaceChild($mycomment , $var);
}
$xml.Save($getxmlpath);