2016-10-31 18 views
1

innertextを持たないタグがいくつかあるXMLドキュメントをロードしています。保存すると、要素が空白のときに改行がXMLに追加されます

私はいくつかのデータをInnerTextプロパティを移入した場合、必要に応じて、それは次のように(あなたがタグ、InnerTextプロパティを開き、1行にすべてのタグを閉じます)動作します...

<element>value</element> 

問題がタグで発生します値なし。これらは次のように、当然のない値を除いて、上記と同様に表示されるべきである:

<element></element> 

しかし、InnerTextプロパティは、それがないキャリッジリターン&ラインフィードを追加し、空の文字列を有する場合何が期待されている!これは、次のように見える終わる:

<element> 
</element> 

マイコード:私は問題を自分で修正した

$input_dir = "F:\uma\zz" 
$output_dir = "F:\uma\zz" 
[xml]$xdoc = Get-Content "$input_dir\Subnet_Network_41.xml" 
$inprange = 5 
foreach ($i in $inprange) { 
    $xdoc.Subnet.Id = "Network_$i" 
    $xdoc.Subnet.Name = "Network_$i" 
    $xdoc.Save("$output_dir\Subnet_Network_$i.xml") 
} 
+2

オリジナルの「Subnet_Network_41.xml」ファイルはどのように見えますか? –

答えて

1

。私はSelect-xmlを使って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") 
} 

以下のブログを参照してくださいSelect-xmlについての詳細を知っています。

https://blog.stangroome.com/2014/02/10/powershell-select-xml-versus-get-content/ 
関連する問題