7

次のシリアル化方法があります。

    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>
4

1 に答える 1

10

XmlWriter パラメーターを受け入れる Serialize オーバーライドを使用します。XmlWriter::Create を使用して XmlWriter を作成し、Indent プロパティを false に設定して XmlWriterSettings オブジェクトを渡します。

于 2008-10-07T19:48:19.987 に答える