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?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage