簡體   English   中英

XML序列化-集合屬性

[英]Xml serialization - collection attribute

Helio公司,

這段代碼:

[Serializable]
[XmlRoot("A")]
public class A
{
    public B B { get; set; }

    public void Save()
    {
        string settingsFilePath = string.Format("test.xml");
        XmlSerializer serializer = new XmlSerializer(typeof(A));
        TextWriter writer = new StreamWriter(settingsFilePath);
        XmlSerializerNamespaces ns = new XmlSerializerNamespaces(new XmlQualifiedName[] { new XmlQualifiedName(string.Empty) });
        serializer.Serialize(writer, this, ns);
        writer.Close();
    }
}

public class B
{
    [XmlAttribute("c")]
    public string C { get; set; }

    public List<D> D { get; set; }
}

public class D
{
    [XmlAttribute("e")]
    public string E { get; set; }
}

A a = new A();
a.B = new B();
a.B.C = "c";
a.B.D = new List<D>();
D d = new D();
d.E = "e";
a.B.D.Add(d);
a.B.D.Add(d);
a.B.D.Add(d);
a.Save();

生成這樣的xml文件:

<?xml version="1.0" encoding="utf-8"?>
<A>
  <B c="c">
    <D>
      <D e="e" />
      <D e="e" />
      <D e="e" />
    </D>
  </B>
</A>

有什么方法可以生成具有以下結構的xml:

<?xml version="1.0" encoding="utf-8"?>
<A>
  <B c="c">
     <D e="e" />
     <D e="e" />
     <D e="e" />
  </B>
</A>

B級裝飾

[XmlElement("D")]
public List<D> D { get; set; }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM