2017-09-02 7 views
-1

J'ai un code xml comme:Comment sérialiser à la fois les éléments et le texte dans un tag?

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

Comme vous pouvez le voir, ici, j'ai quelques éléments XML et certains textes à l'intérieur < texte source tag >. Comment l'ordre et le nombre d'éléments et le texte peuvent varier ..

Comment écrire une classe dans C#, qui peut être sérialisé avec XmlSerializer à ce xml?

Merci.

Répondre

0

Ok, j'ai trouvé la solution (en VB):

Classe:

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 

code:

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