How do I convert a C# class to an XMLElement or XMLDocument

前端 未结 3 1030
春和景丽
春和景丽 2020-12-30 06:52

I have an C# class that I would like to serialize using XMLSerializer. But I would like to have it serialized to a XMLElement or XMLDocument. Is this possible or do I have t

3条回答
  •  借酒劲吻你
    2020-12-30 07:38

    Public Shared Function ConvertClassToXml(source As Object) As XmlDocument
        Dim doc As New XmlDocument()
        Dim xmlS As New XmlSerializer(source.GetType)
        Dim stringW As New StringWriter
        xmlS.Serialize(stringW, source)
        doc.InnerXml = stringW.ToString
        Return doc
    End Function
    Public Shared Function ConvertClassToXmlString(source As Object) As String
        Dim doc As New XmlDocument()
        Dim xmlS As New XmlSerializer(source.GetType)
        Dim stringW As New StringWriter
        xmlS.Serialize(stringW, source)
        Return stringW.ToString
    End Function
    Public Shared Function ConvertXmlStringtoClass(Of T)(source As String) As T
        Dim xmlS As New XmlSerializer(GetType(T))
        Dim stringR As New StringReader(source)
        Return CType(xmlS.Deserialize(stringR), T)
    End Function
    Public Shared Function ConvertXmlToClass(Of T)(doc As XmlDocument) As T
        Dim serializer = New XmlSerializer(GetType(T))
        Return DirectCast(serializer.Deserialize(doc.CreateNavigator.ReadSubtree), T)
    End Function
    

提交回复
热议问题