「プログラミング/.NET」の編集履歴(バックアップ)一覧はこちら
「プログラミング/.NET」(2010/06/05 (土) 16:16:31) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
#contents()
*XmlSerializerの改行の扱いについて
http://yutori7.2ch.net/test/read.cgi/news4vip/1275478577/122
改行がCRLFのStringをXmlSerializer.Serializeでシリアライズして保存すると、ファイルには改行がCRLFのまま保存されるが、読みだす際にStreamReaderを使うかXmlTextReaderを使うかによりXmlSerializer.Deserializeを通した後の改行がLFになるかCRLFになるかが変化するらしい。
ファイルをStreamReaderでXmlSerializer.Deserializeに渡すと改行がLFになる。
ファイルをXmlTextReaderでXmlSerializer.Deserializeに渡すと改行がCRLFになる。
-LF
using(System.IO.StreamReader stream
= new System.IO.StreamReader(filename))
{
Hoge data = (Hoge)(
new System.Xml.Serialization.XmlSerializer(typeof(Hoge)
).Deserialize(stream));
}
-CRLF
using(System.Xml.XmlTextReader stream
= new System.Xml.XmlTextReader(filename))
{
Hoge data = (Hoge)(
new System.Xml.Serialization.XmlSerializer(typeof(Hoge)
).Deserialize(stream));
}
テキストボックスにデシリアライズした文字列入れたら改行が…、という場合はSystem.Xml.XmlTextReaderの方を使ってやればよいようだ。
----
#contents()
----
*XmlSerializerの改行の扱いについて
http://yutori7.2ch.net/test/read.cgi/news4vip/1275478577/122
改行がCRLFのStringをXmlSerializer.Serializeでシリアライズして保存すると、ファイルには改行がCRLFのまま保存されるが、読みだす際にStreamReaderを使うかXmlTextReaderを使うかによりXmlSerializer.Deserializeを通した後の改行がLFになるかCRLFになるかが変化するらしい。
ファイルをStreamReaderでXmlSerializer.Deserializeに渡すと改行がLFになる。
ファイルをXmlTextReaderでXmlSerializer.Deserializeに渡すと改行がCRLFになる。
-LF
using(System.IO.StreamReader stream
= new System.IO.StreamReader(filename))
{
Hoge data = (Hoge)(
new System.Xml.Serialization.XmlSerializer(typeof(Hoge))
.Deserialize(stream)
);
}
-CRLF
using(System.Xml.XmlTextReader stream
= new System.Xml.XmlTextReader(filename))
{
Hoge data = (Hoge)(
new System.Xml.Serialization.XmlSerializer(typeof(Hoge))
.Deserialize(stream)
);
}
テキストボックスにデシリアライズした文字列入れたら改行が…、という場合はSystem.Xml.XmlTextReaderの方を使ってやればよいようだ。
----
表示オプション
横に並べて表示:
変化行の前後のみ表示: