我想配置XmlSerializer来为字段类型编码元素

时间:2018-04-07 17:59:49

标签: c# xml-serialization xmlserializer

XmlSerializer 对数组的类型名称进行编码,但不对scalars进行编码。 苏,一个员工/人,有元素。 Yolanda,经理/人,没有。我想要元素中的名称元素。

我已经找到了配置XmlElement的方法,但我还没有成功。

我希望查询会返回Yolanda和Sue。

using System.Xml.Serialization;
public class Person {
    public string Name;
    public Person() { }
    public Person(string name) { this.Name = name; }
}

public class Group {
    public Person Manager;
    public Person[] Staff;
    public Group() { }
    public Group(string manager, string staff) {
        this.Manager = new Person(manager);
        this.Staff = new Person[] { new Person(staff) 
};


    public void testXmlSerializeFromMicrosoft() {
        XmlSerializer serializer = new XmlSerializer(typeof(Group));
        serializer.Serialize(Console.Out, new Group("Yolanda", "Sue"));
    }

---实际输出---

...
<Manager>
  <Name>Yolanda</Name>
</Manager>
<Staff>
  <Person>
    <Name>Sue</Name>
  </Person>
</Staff>

---期望的输出---

 <Manager>
   <Person>                           //desired element
     <Name>Yolanda</Name>
   </Person>
 </Manager>
 <Staff>
   <Person>
     <Name>Sue</Name>
   </Person>
 </Staff>

0 个答案:

没有答案