Einen Array-Namen in der C # XML-Serialisierung entfernen
Ich versuche, beim Serialisieren von XML zu diesem Ergebnis zu gelangen:
<Root Name="blah">
<SomeKey>Eldad</SomeKey>
<Element>1</Element>
<Element>2</Element>
<Element>3</Element>
<Element>4</Element>
</root>
Oder mit anderen Worten - Ich versuche, ein Array im "root" -Element neben zusätzlichen Schlüsseln zu enthalten.
Das ist mein grober Versuch:
[XmlRootAttribute(ElementName="Root", IsNullable=false)]
public class RootNode
{
[XmlAttribute("Name")]
public string Name { get; set; }
public string SomeKey { get; set; }
[XmlArrayItem("Element")]
public List<int> Elements { get; set; }
}
Und meine Serialisierung:
string result;
XmlSerializer serializer = new XmlSerializer(root.GetType());
StringBuilder sb = new StringBuilder();
using (StringWriter sw = new StringWriter(sb))
{
serializer.Serialize(sw, root);
result = sw.ToString();
}
Dies ist jedoch mein Ergebnis (aus Gründen der Übersichtlichkeit wurde der Namespace entfernt):
<Root>
<SomeKey>Eldad</SomeKey>
<Elements>
<Element>1</Element>
<Element>2</Element>
<Element>3</Element>
</Elements>
</Root>
Gibt es eine Möglichkeit, den "Elements" -Teil zu entfernen?