2009-03-31 4 views
1

Haben sie eine XML mit folgenden Form:XML-Serialisierung Frage

<categories someAttribute="test"> 
    <category id="1"> 
    <title></title> 
    </category> 
    <category id="1"> 
    <title></title> 
    </category> 
</categories> 

Es gibt keine Möglichkeit, XML-Struktur zu ändern. Aber was ich will, ist Buggy handcodierte XML-Generierung durch XMLSerialization zu ersetzen.

Bitte helfen Sie mit dieser Kategorie Liste. Gibt es eine Möglichkeit XML Serializer zu anweisen, nicht zu wickeln Liste der Kategorien

-Code für Beispiel:

public class Category 
{ 
    public int Id{get;set;} 
} 

public class Categories 
{ 
    public List<Category> CategoriesList { get; set; } 
} 
+0

Vielleicht, wenn Sie den Code der Klasse bieten Ihnen zu serialisiert versuchen, können die Menschen Attribute, um es hinzuzufügen? –

Antwort

3

Wie so:

public class Category 
{ 
    [XmlAttribute("id")] 
    public int Id { get; set; } 

    [XmlElement("title")] 
    public string Title { get; set; } 
} 

[XmlRoot("categories")] 
public class Categories 
{ 
    [XmlAttribute("someAttribute")] 
    public string SomeValue { get; set; } 

    [XmlElement("category")] 
    public List<Category> CategoriesList { get; set; } 
} 
+0

Ja es macht was ich will ... aber O_o Ich habe es versucht und es hat vorher nicht für mich funktioniert – AlfeG

-1

mit der IXmlSerializable Schnittstelle, die Sie auf eigene Faust definieren, wie die XML zu schreiben oder Sie können Ihrer Liste zu einem Array ich denke, es würde geschrieben werden, wie Sie wollen, aber ich bin nicht sicher ..

0

Schauen Sie sich XmlAnyElementAttribute.