Я пытаюсь преобразовать XML-файл в объект при удалении XML-тега, я ожидаю исключения, потому что мой XML-файл больше недействителен, но я до сих пор мой объект данных с удаленным тегом (свойство) имеет значение null. Как сделать этот конкретный тег необходимым, поэтому, пытаясь его сериализовать, он выдает исключение, говорящее, что тег xxx отсутствует => Файл XML недействителен =>, поэтому объект данных также является нулевым.Создание тега XML, требуемого при сериализации (C#)
Мой XSD
...
<xs:element name="Language" minOccurs="1" maxOccurs="1">
...
Мой XML
<?xml version="1.0" encoding="iso-8859-1"?>
<root>
<item>
<sub1>1037</sub1>
<Language>F</Language><!-- If I delete this tag, my XML file should be invalid -->
<sub1>ZDC</sub1>
</item>
<root>
Мой сериализации boject
...
/// <remarks/>
public string Language
{
get
{
return this.languageField;
}
set
{
this.languageField = value;
}
}
...
Проверить [Может ли я не выполнять десериализацию с помощью XmlSerializer в C#, если элемент не найден?] (Http://stackoverflow.com/questions/259726/can-i-fail-to-deserialize-with-xmlserializer- in-c-sharp-if-an-element-is-not-fou) – Lloyd
Почему бы не проверять себя перед сериализацией? – Rotem
Я сгенерировал свой объект сериализации с помощью xsd.exe с помощью XSD-файла, и я подумал, что minOccurs = «1» maxOccurs = «1» сделает трюк, чтобы сделать мой тег, но он этого не сделал! Как сделать свойство «Язык» обязательным для использования атрибутов или что-то в этом роде? – Stacked