У меня есть xml: xml в пасте
и XSD, который я преобразовал в класс C# с VS DevTool:
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.3928.0")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.nrf-arts.org/IXRetail/namespace/")]
[System.Xml.Serialization.XmlRootAttribute(Namespace="http://www.nrf-arts.org/IXRetail/namespace/", IsNullable=false)]
public partial class RTSLineItemAddRequest {
private ARTSHeader aRTSHeaderField;
private Transaction[] pOSLogField;
private string majorVersionField;
public ARTSHeader ARTSHeader {
get {
return this.aRTSHeaderField;
}
set {
this.aRTSHeaderField = value;
}
}
public Transaction[] POSLog {
get {
return this.pOSLogField;
}
set {
this.pOSLogField = value;
}
}
Но когда он пытается десериализоваться, я получаю:
<RTSLineItemAddRequest xmlns=' not expected...
Если я удаляю объект XmlTypeAttribute
и XmlRootAttribute
, он десериализуется без ошибки, но объект POSLog никогда не читается. Что я делаю не так?
Я не понимаю, почему DevTool пропускает POSLog
, а объект - Transaction[]
, не могли бы вы мне это объяснить?
Я знаю, что могу читать каждый узел и синтаксический анализ, но я хочу сделать это в одну строку. А также, узнать о XML.