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>