我已经使用XSD.EXE将XSD转换为对象。这工作正常,我可以反序列化使用XMLSerializer就好了,除了作为数组生成的子元素不填充。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未包含的其他内容?
原来,源XML(SubElements)中没有包含标签。非常感谢。 – 2009-10-29 20:04:52