Это пример того, что генерирует Xsd.exe (также Xsd2Code, но с использованием универсального List <>).
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="xxxxxxxxxxxxxxxx")]
[System.Xml.Serialization.XmlRootAttribute(Namespace="xxxxxxxxxxxxxxxx", IsNullable=false)]
public partial class ItemQuantity
{
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
public string Units;
/// <remarks/>
[System.Xml.Serialization.XmlAnyAttributeAttribute()]
public System.Xml.XmlAttribute[] AnyAttr;
/// <remarks/>
[System.Xml.Serialization.XmlTextAttribute()] // <-- this is the bug
public double[] Text; // <-- this is the bug corresponding to a <xs:list itemType=xs:double/> in the schema
}
Я имею дело с очень большой схемой, которая несколько раз использует xs: list для разных примитивов ...
И все эти свойства текста, которые не являются строковыми [] (скорееdouble [] decimal []) все приводят к этому исключению во время выполнения при использовании с XmlSerializer : (я перевожу его на английский). Элемент Text не может быть закодирован с атрибутом XmlText.Вы можете использовать атрибут XmlText с примитивами, перечислениями, строковыми массивами или массивами XmlNode.
Что вы мне посоветуете?