用 powershell 将 xml 中的 '.00' 替换为空白值
Replace '.00' to blank value in xml with powershell
我有一个带有标签 的 xml 文件。
但是,标签中的值以某种方式显示为 111.01.00,然后我想删除 .00。
我试图替换功能,但它似乎打印到 powershell 屏幕而不是保存,尽管我已经有保存功能
这是我的代码:
param ($folder = 'C:\Users\blitz\Desktop\Baiduri\CR\new_xml_format')
$files = Get-ChildItem -Path $folder -Include "*xml" -Recurse
foreach ($file in $files) {
[xml]$xml = Get-Content $file
$xml.SelectNodes('//*[self::balance]') |
ForEach-Object { $_.'#text' -replace '.00',''}
$xml.Save($file)
}
您正在替换文本,但实际上并未对它执行任何操作。将项目设置回结果。
param ($folder = 'C:\Users\blitz\Desktop\Baiduri\CR\new_xml_format')
$files = Get-ChildItem -Path $folder -Include "*xml" -Recurse
foreach ($file in $files) {
[xml]$xml = Get-Content $file
$xml.SelectNodes('//*[self::balance]') |
ForEach-Object { $_.'#text' = $_.'#text' -replace '.00',''}
$xml.Save($file)
}
当你用空东西替换某些东西时,你可以省略 ,''
并使其成为
$_.'#text' = $_.'#text' -replace '.00'
实际上,@DougMaurer 没问题,但我们这里不需要 Regex,-replace
使用 Regex 和 .对正则表达式有意义的熊(匹配任何字符)。然后改成:
$_.'#text'.replace(".00","")
我有一个带有标签 的 xml 文件。 但是,标签中的值以某种方式显示为 111.01.00,然后我想删除 .00。 我试图替换功能,但它似乎打印到 powershell 屏幕而不是保存,尽管我已经有保存功能 这是我的代码:
param ($folder = 'C:\Users\blitz\Desktop\Baiduri\CR\new_xml_format')
$files = Get-ChildItem -Path $folder -Include "*xml" -Recurse
foreach ($file in $files) {
[xml]$xml = Get-Content $file
$xml.SelectNodes('//*[self::balance]') |
ForEach-Object { $_.'#text' -replace '.00',''}
$xml.Save($file)
}
您正在替换文本,但实际上并未对它执行任何操作。将项目设置回结果。
param ($folder = 'C:\Users\blitz\Desktop\Baiduri\CR\new_xml_format')
$files = Get-ChildItem -Path $folder -Include "*xml" -Recurse
foreach ($file in $files) {
[xml]$xml = Get-Content $file
$xml.SelectNodes('//*[self::balance]') |
ForEach-Object { $_.'#text' = $_.'#text' -replace '.00',''}
$xml.Save($file)
}
当你用空东西替换某些东西时,你可以省略 ,''
并使其成为
$_.'#text' = $_.'#text' -replace '.00'
实际上,@DougMaurer 没问题,但我们这里不需要 Regex,-replace
使用 Regex 和 .对正则表达式有意义的熊(匹配任何字符)。然后改成:
$_.'#text'.replace(".00","")