0

から継承するクラスがありIXmlSerializableます。ReadXmlメソッドとメソッドを適切にオーバーライドしましたWriteXml

XmlSerializerオブジェクトをxmlファイルにシリアライズ/デシリアライズするために使用しています。

オブジェクトを取得すると、ファイルにSerialize正しく書き込ま\r\nれます。しかしDeserialize、同じ方法でオブジェクトを\r削除すると、 が削除され、 だけ\nが存在します。なぜこれを行っているのかわかりません。

4

2 に答える 2

2

これは正規化と呼ばれ、 XML 仕様で明示的に定義されています。

... XML プロセッサは、2 文字のシーケンス #xD #xA と #xA が続かない #xD を、解析前に入力時に #xA に変換することにより、解析されたエンティティの改行を #xA に正規化する必要があります。 ...

正規化の一部は、 XmlTextReader.Normalizationで無効にできます。

于 2015-04-23T19:12:35.060 に答える
0

'\n'テキストファイルでは改行だけ処理するのが普通です。DOS/Windows C ライブラリには、透過的に CR-LF を LF に変換して戻す「テキスト モード」があります。

于 2015-04-23T19:07:43.687 に答える