XMLシリアル化、空白なし
-
05-07-2019 - |
質問
次のシリアル化方法があります:
Private Function SerializeData(ByVal data As cData) As String
If data IsNot Nothing Then
Dim xml_stream As New MemoryStream()
Dim sr As StreamReader
Dim xs As New XmlSerializer(GetType(cData))
xml_stream = New MemoryStream()
Try
xs.Serialize(xml_stream, data)
xml_stream.Position = 0
sr = New StreamReader(xml_stream)
Return sr.ReadToEnd()
Finally
If sr IsNot Nothing Then sr.Close()
xml_stream.Close()
End Try
Else
Return "No data"
End If
End Function
ただし、ネストされた要素がインデントされたxmlを返します。シリアライザーでそれを停止する方法はありますか、それともすべてを取り除くために検索置換ルーチンを実行する必要がありますか?
本質的に、私が見たいのは:
<root><child1>data</child1><child2>data</child2></root>
解決
XmlWriterパラメーターを受け入れるSerializeオーバーライドを使用します。 XmlWriter :: Createを使用してXmlWriterを作成し、Indentプロパティをfalseに設定してXmlWriterSettingsオブジェクトを渡します。
所属していません StackOverflow