当元素为空时,“保存”会将换行符添加到XML中
我正在加载一个XML文档,其中包含一些没有innertext的标记 如果我用一些数据填充innertext,那么它会根据需要工作(在一行上获得开始标记、innertext和结束标记),如下所示当元素为空时,“保存”会将换行符添加到XML中,xml,powershell,Xml,Powershell,我正在加载一个XML文档,其中包含一些没有innertext的标记 如果我用一些数据填充innertext,那么它会根据需要工作(在一行上获得开始标记、innertext和结束标记),如下所示 值 问题出现在没有值的标记上。这些参数的显示方式应与上述相同,但无值除外,如下所示: 但是,当innertext有一个空字符串时,它会添加一个回车和换行符,这不是预期的!它最终看起来如下所示: 我的代码: $input\u dir=“F:\uma\zz” $output\u dir=“F:\um
值
问题出现在没有值的标记上。这些参数的显示方式应与上述相同,但无值除外,如下所示:
但是,当innertext有一个空字符串时,它会添加一个回车和换行符,这不是预期的!它最终看起来如下所示:
我的代码:
$input\u dir=“F:\uma\zz”
$output\u dir=“F:\uma\zz”
[xml]$xdoc=获取内容“$input\u dir\Subnet\u Network\u 41.xml”
$inprange=5
foreach($范围内的i){
$xdoc.Subnet.Id=“网络\$i”
$xdoc.Subnet.Name=“网络\$i”
$xdoc.Save(“$output\u dir\Subnet\u Network\u$i.xml”)
}
我自己解决了这个问题。我使用了selectxml
来读取xml文件,它成功了。它在保存xml文档时没有添加换行符。下面是工作代码
$input_dir = "F:\uma\zz"
$output_dir = "F:\uma\zz"
$xdoc = ( Select-Xml -Path $input_dir\Subnet_Network_41.xml -XPath / ).Node
$inprange = 5
foreach ($i in $inprange) {
$xdoc.Subnet.Id = "Network_$i"
$xdoc.Subnet.Name = "Network_$i"
$xdoc.Save("$output_dir\Subnet_Network_$i.xml")
}
要了解有关
选择xml
的更多信息,请参阅以下博客:原始子网\u网络\u 41.xml
文件是什么样子的?