示例数据:
<lieu>
<l_nr>
</l_nr>
<strasse>gasse</strasse>
<h_nr>0</h_nr>
<f_name>0</f_name>
<v_name>0</v_name>
<txt>1 Knoflach Josef</txt>
</lieu>
我想通过添加1到6000来更改“行号”项<l_nr>
。
并且还拆分了<txt>
项目:
$path = "lieu.xml"
$fiche = New-Object System.XML.XMLDocument
[xml]$xml = Get-Content $path
$rue = $xml.lieu.txt[0].Split(" ")
$rue[0]
$rue[1]
$rue[2]
$xml | % {$_ -replace ($_.h_nr,$n_st[0],$_.f_name=$n_st[1],$_.v_name=$n_st[2])}
(1..$xml.lieu.txt.count) | % {$_ -replace $_.l_nr}
$xml.Save($path)
它引发了以下错误:
Indexation impossible dans un tableau Null. Au caractère Ligne:16 : 51 + ... $_ -replace ($_.h_nr,$n_st[0],$_.f_name=$n_st[1],$_.v_name=$n_st[2])} + CategoryInfo : InvalidOperation : (:) [], RuntimeException + FullyQualifiedErrorId : NullArray
答案 0 :(得分:0)
使用=
设置值而不是-replace
[xml]$xml = Get-Content -Path C:\Users\dave\Temp\file.xml
$Split = $xml.lieu.txt -split "\s"
$xml.lieu.h_nr = $Split[0]
$xml.lieu.f_name = $split[1]
$xml.lieu.v_name = $Split[2]