如何解决在 XML 文件中增加数千个值,然后在文件夹中的多个文件中执行此操作
我已经挣扎了几天几夜,但我就是做对了。
我有一个名为 DDINP 的 XML 文件,在这个 DDINP XML 文件中有交易 ID 标签:
<TxId>0001/2021-04-20/000499605</TxId>
这些 DDINP 文件有很多 - 目前有 4100 个文件,总共超过 260 万个这些交易 ID。
所有这些 DDINP 在创建时也会写入 DRINP 文件,其中来自 DDINP 的交易 ID 如下所示:
<OrgnlTxId>0003/2021-04-09/000499605</OrgnlTxId>
创建这些 DRINP 文件是为了在第二天使用。他们需要匹配兄弟DDINP文件。
有几个原因,但是,我需要控制 DDINP 文件的唯一性的最后六位数字,然后还需要将该值写入 DRINP 文件。我有随机化交易 ID 的代码,但它没有帮助,因为我无法将该值写入 DRINP 文件。
我的代码:(另外,为什么这段代码没有为 xml 文件中的所有 txid 写一个唯一的值?):
#set-executionpolicy remotesigned
#Set your path here,on the first folder.
$path = "C:\Users\Dell\Downloads\FNB 2 Trans\File Creation\DDINP"
#Get the list of all *.txt,with recursivity
$list = Get-ChildItem $path -Recurse -Include "*.xml"
#Replace the elements
[regex]$initialvar= '<TxId>(.*?)/(.*?)/(.*?)</TxId>'
$newvar = $null
foreach($item in $list)
{
auto-increment
#you get a random value between 111111 and 2222222
$newvar = (Get-Random -Minimum 1 -Maximum 999999).ToString('000000')
#here in each file,you replace the initial value(789) with the new value
(Get-Content $item) -replace $initialvar,"<TxId>0001/2021-04-20/$newvar</TxId>" | Set-Content $item
}
所以我的问题是: 1 - 如何在 xml 文件中增加从 000001 到 999999 找到的所有 ID,然后继续到文件夹中的下一个文件
2 - 为什么它不在 xml 文件中唯一地生成一个递增的值?他们都是
<TxId>0001/2021-04-20/1</TxId>
<TxId>0001/2021-04-20/1</TxId>
<TxId>0001/2021-04-20/1</TxId>
我发布的代码是一个随机生成器,我尝试使用增量代码,但我无法做到。
感谢小伙伴
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。