powershell - 仅将 xml 文件中的第一个字符串替换为 Powershell 中的新字符串
问题描述
我有一个 powershell 脚本,它替换文件中的每一次出现:
$destination_file = 'd:\2.xml'
(Get-Content $original_file) | ForEach-Object {
$_.replace('<Id>10810</Id>', '<Id>107502</Id>').replace('<Id>10811</Id>', '<Id>107503</Id>').replace('<Id>10812</Id>', '<Id>107504</Id>').replace('<Id>10813</Id>', '<Id>107505</Id>').replace('<Id>10765</Id>', '<Id>107506</Id>').replace('<Id>10766</Id>', '<ParentId>107613</ParentId>').replace('<ParentId>11818</ParentId>', '<ParentId>107647</ParentId>').replace('<ParentId>11818</ParentId>', '<ParentId>107001</ParentId>').replace('<ParentId>5002</ParentId>', '<ParentId>107404</ParentId>').replace('<ParentId>11564</ParentId>', '<LogicalParentID>107404</LogicalParentID>').replace('<LogicalParentID>5002</LogicalParentID>', '<LogicalParentID>107228</LogicalParentID>').replace('<LogicalParentID>10808</LogicalParentID>', '<LogicalParentID>107500</LogicalParentID>')
} | Set-Content $destination_File
每个 xml 节点都有许多属性,例如:
<id>9203</id>
<ParentId>107404</ParentId>
<LogicalParentID>107500</LogicalParentID>
and many more
我只想替换每个部分中的那 3 个。我制作的脚本替换了孔文件中所有出现的“107404”。 我只想更换一次。怎么能这样,请帮忙?
解决方案
推荐阅读
- android-spinner - 如何更改微调器文本的颜色?
- python - for 循环中的嵌套 if 语句不起作用
- javascript - 选项内的样式跨度 - 选择菜单
- maven - 使用 maven install 目标下载 hamcrest-core-1.2.1.jar 时 LOC 标头(错误签名)无效
- python - 如何将条件放入一个循环中仅进行一次迭代?
- java - WindowBuilder:在应用程序窗口中切换 Composite
- java - 我应该如何正确使用 spring data-jpa 注释
- python - 我的 Tkinter GUI .py 文件在转换为 .exe 时会出现什么问题,在画布上生成绘图不再起作用并关闭 GUI 本身?
- python - 目录遍历和删除文件/目录
- mysql - 如何在 MySQL 中压缩表?