相关疑难解决方法(0)

在C#XML序列化中删除数组名称

我正在尝试在序列化XML时得到这个结果:

<Root Name="blah">
  <SomeKey>Eldad</SomeKey>
  <Element>1</Element>
  <Element>2</Element>
  <Element>3</Element>
  <Element>4</Element>
</root>
Run Code Online (Sandbox Code Playgroud)

换句话说 - 我试图在"root"元素中包含一个数组,以及其他键.

这是我粗暴的尝试:

[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; }
}
Run Code Online (Sandbox Code Playgroud)

我的序列化:

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();
}
Run Code Online (Sandbox Code Playgroud)

但是,这是我的结果(为清晰起见删除了命名空间):

<Root>
  <SomeKey>Eldad</SomeKey>
  <Elements>
    <Element>1</Element>
    <Element>2</Element>
    <Element>3</Element>
  </Elements>
</Root>
Run Code Online (Sandbox Code Playgroud)

有没有办法删除"元素"部分?

c# xml serialization

5
推荐指数
1
解决办法
4030
查看次数

标签 统计

c# ×1

serialization ×1

xml ×1