我使用 XSD.EXE 将 XSD 转换为对象。这工作正常,我可以使用 XMLSerializer 反序列化就好了,除了不填充作为数组生成的子元素。
private SubElements[] subelementsField;
/// <remarks/>
[System.Xml.Serialization.XmlArrayItemAttribute("SubElement", IsNullable=false)]
public SubElement[] SubElement {
get {
return this.subelementField;
}
set {
this.subelementField = value;
}
}
即使 XML 中有数据,当我使用以下代码时它也不会填充它:
// Deserialize
var result = serializer.Deserialize(new StringReader(data.XMLText.ToString()));
根元素都可以正常工作,只是不是这种 XML 数据的子元素:
<RootNode Weight="205" Year="1995">
<ParentNodeWhichWorksFine Contact="John Doe">
<SubElement SomeAttribute="123">
<Location>New York City</Location>
<Team>New York Pizza</Team>
</SubElement>
</ParentNodeWhichWorksFine>
</RootNode>
我是否遗漏了 XSD.EXE 不包括的一些提示或其他内容?