非常に大きな XML ファイルを読み取り、埋め込まれた C# コードを表す特定の要素のテキスト値を抽出する PowerShell スクリプトがあります。次に、スクリプトは要素テキストを、XML ファイルの構造と一致するディレクトリ構造の .cs コード ファイルに保存します。ファイルが非常に大きい (場合によっては 200 MB を超える) ため、パフォーマンスのために XmlReader を使用しています。
元の XML ファイルには Windows 行末 (CRLF) がありますが、.NET Framework XmlReader クラスは、ファイルから読み取るときに、行末を CRLF から LF に (XML 仕様に従って) "正規化" します。
私の質問は、PowerShell がファイルをディスクに書き出すときに行末を強制的に Windows 標準に戻すにはどうすればよいですか?
現在、次の PowerShell ステートメントを使用してファイルを書き込んでいます。New-Item -Path $path -Force -ItemType file -Value $reader.ReadElementString()
$reader
変数は のインスタンスです[System.Xml.XmlReader]
。