あほxのまとめwiki XmlSerializerの改行の扱いについてによると
改行がCRLFのStringをXmlSerializer.Serializeでシリアライズして保存すると、ファイルには改行がCRLFのまま保存されるが、
デシリアライズする際に
ファイルをStreamReaderでXmlSerializer.Deserializeに渡すと改行がLFになる。
ファイルをXmlTextReaderでXmlSerializer.Deserializeに渡すと改行がCRLFになる。
ほぉ~そ~なのか!
シリアライズ
Dim hoge As New Hoge Using writer As New System.Xml.XmlTextWriter(path, System.Text.Encoding.GetEncoding("UTF-8")) Try Dim serializer As New System.Xml.Serialization.XmlSerializer(GetType(Hoge)) serializer.Serialize(writer, hoge) Finally writer.Close() End Try End Usingデシリアライズ
Dim hoge As Hoge Using reader As New System.Xml.XmlTextReader(path) Try Dim serializer As New System.Xml.Serialization.XmlSerializer(GetType(Hoge)) Dim obj As Object = serializer.Deserialize(reader) hoge = CType(obj, Hoge) Finally reader.Close() End Try End Using
0 件のコメント:
コメントを投稿