Сериализация документов с одинаковым именем, но разными свойствами в один класс.C#

Место общения программистов C#
Ответить
Anonymous
 Сериализация документов с одинаковым именем, но разными свойствами в один класс.

Сообщение Anonymous »

Я пытаюсь прочитать два файла Aux с одним классом, но у меня возникла проблема.
Я получаю сообщение об ошибке при попытке сериализовать свой класс. Схема XML определена сторонней организацией, и я не могу ее изменить.
XML выглядит так


AA-A
A12



И еще один XML-файл

AA-A


Я определил следующий класс
///
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
[System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
public partial class General
{
private GeneralProjection projectionField;

///
[System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
public GeneralProjection Projection
{
get
{
return this.projectionField;
}
set
{
this.projectionField = value;
}
}
}

///
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
public partial class GeneralProjection
{

private string typeField;

private string parameterField;

///
[System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
public string Type
{
get
{
return this.typeField;
}
set
{
this.typeField = value;
}
}

///
[System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
public string Parameter
{
get
{
return this.parameterField;
}
set
{
this.parameterField = value;
}
}
}


Первый XML-файл читается хорошо, а второй — нет.
Пожалуйста, помогите.
Я попробовал следующие методы. Произошла ошибка: «Элемент XML «Проекция» пространства имен уже существует в текущем диапазоне».
// GeneralProjection 타입의 Projection 처리
[System.Xml.Serialization.XmlElementAttribute("Projection", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
public GeneralProjection GeneralProjection
{
get { return this.projectionField; }
set { this.projectionField = value; }
}

// string 타입의 Projection 처리
[System.Xml.Serialization.XmlElementAttribute("Projection", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
public string ProjectionString
{
get { return this.projectionStringField; }
set { this.projectionStringField = value; }
}



Подробнее здесь: https://stackoverflow.com/questions/791 ... -one-class
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»