インストール プロセスの一環として、app.config ファイルのいくつかの値を更新します。このファイルは、ユーザーが値を読みやすいように作成およびインデントされています。これはセクションに組み込まれており、各セクションは XElement であり、各値は XAttribute です。
これはセクションのサンプルです:
<DataAccessSection
DataMappingFile = "Data\Mapping.xml"
SchemaKeyWord = "[generated]"
/>
<ServiceManagementSection
ServerName = "dummy"
ServerIP = "1.0.0.0"
Port = "1"
/>
XDocument を使用してファイルを編集し、セクションの XElement にアクセスして XAttribute の値を変更し、次を使用して変更を保存します。xDocument.Save(fullpath);
ファイルを保存すると、構成ファイルの構造は次のようになります。
<DataAccessSection DataMappingFile="Data\Mapping.xml" SchemaKeyWord="[generated]" />
<ServiceManagementSection ServerName="dummy" ServerIP="1.0.0.0" Port="1" />
この構造はユーザーにとってあまり明確ではありません。ファイルを初期構造のままにして、インデントではなく値のみを変更するにはどうすればよいですか?
単純なテキスト ファイルとして開いて編集することはできますが、構造化された XML ファイルの機能がある場合、テキスト ファイルのようにアクセスするのはばかげているように思えます。
編集:回答ありがとうございます。
回答の解決策を試しましたが、空白とインデントが削除され続けます。また、次を使用してロードしようとしました:
XDocument.Load(fullPath, LoadOptions.PreserveWhiteSpaces);
しかし、それは私の問題を解決しません。すべての空白を保持する唯一の方法は、それをテキスト ファイルとしてロードし、文字列操作を使用して編集することですが、私はそうしたくありません。
この問題を解決する別のアプローチを持っている人はいますか?
XML編集用に別のパッケージを使用している可能性がありますか?