2008-10-07 19 views
7

Aşağıdaki seri hale yöntemi vardır:XML Serialization, No Boşluk

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 

ancak iç içe elemanları girintili xml döndürür. Seri hale getiriciyi kapamanın bir yolu var mı, yoksa hepsini temizlemek için bir rutinin yerini bulmak zorunda mıyım?

Esasen, ne görmek istiyorum geçerli:

<root><child1>data</child1><child2>data</child2></root> 

cevap

10

XmlWriter parametresini kabul serialize geçersiz kılma kullanın. XmlWriter :: Create kullanarak, bir XmlWriterSettings nesnesini geçirerek Indent özelliği false olarak ayarlayarak XmlWriter'i oluşturun.