- 題名: xmlの表示について
- 日時: 2014/08/24 20:00:18
- ID: 32563
- この記事の返信元:
- (なし)
- この記事への返信:
- [32564] Re[1]: xmlの表示について2014/08/25 9:34:32
- [32565] Re[1]: xmlの表示について2014/08/25 10:33:58
- [32566] Re[1]: xmlの表示について2014/08/25 13:50:46
- ツリーを表示
> DataContractSerialize + XmlWriter ではencoding="UTF-8"はOmitXmlDeclaration = Trueで > 表示させなくはできたのですが<?xml version="1.0"?>は残っております。 はて? ' ソース <DataContract> Class Obj <DataMember> Public Property Name As String End Class Dim serialzier As New DataContractSerializer(GetType(Obj)) Dim ms As New MemoryStream() Dim settings As New XmlWriterSettings() settings.OmitXmlDeclaration = True settings.Encoding = New UTF8Encoding(False) settings.Indent = True Dim obj As New Obj() With {.Name = "aaa"} Using writer As XmlWriter = XmlWriter.Create(ms, settings) serialzier.WriteObject(writer, obj) End Using Debug.Print("{0}", Encoding.UTF8.GetString(ms.ToArray())) ' 出力結果 <Obj xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/vbtest"> <Name>aaa</Name> </Obj>
分類:[.NET]
いつもありがとうございます。教えてください。
他人のDBに保存されたXml型ですがまれに
<?xml version="1.0" encoding="UTF-8"?>の表示がないデータがあります。
自分で検証したのですが
DataContractSerialize + XmlWriter ではencoding="UTF-8"はOmitXmlDeclaration = Trueで表示させなくはできたのですが<?xml version="1.0"?>hは残っております。
XmlSerializer + StreamWriter では何も変更できませんでした。
Version情報はシリアライズする際に省略できるものなのでしょうか?
できるのであれば方法等を教えてください。