如何序列化一个标记中的元素和文本?

时间:2017-09-02 10:55:06

标签: c# xml xml-serialization xmlserializer

我有一些xml代码,如:

<source-text>
<hlword>а</hlword>
п
<hlword>и</hlword>
чатка
</source-text>

正如你所看到的,这里我有一些xml元素和一些文本&lt; source-text&gt;标签。元素和文本的顺序和数量可以有所不同。

如何在c#中编写一个可以用XmlSerializer序列化到这个xml的类?

感谢。

1 个答案:

答案 0 :(得分:0)

好的,我找到了解决方案(在VB中):

类别:

Public Class source_text
    Sub New()
        items = New List(Of Object)
    End Sub
    <XmlText(GetType(String))>
    <XmlAnyElement>
    Public Property items As List(Of Object)
End Class

代码:

Function CreateElement(name As String, value As String)
    Dim doc As New XmlDocument
    Dim elem As XmlElement
    elem = doc.CreateElement(name)
    elem.InnerText = value
    Return elem
End Function

Sub New()
    source_text = New source_text
    source_text.items.Add("опе")
    source_text.items.Add(CreateElement("hlword", "ч"))
    source_text.items.Add("ат")
    source_text.items.Add(CreateElement("hlword", "ка"))
End Sub