У меня есть XML с элементами data
, каждый из них имеет разные наборы дочерних элементов и разное значение атрибута id
.
<?xml version="1.0" encoding="UTF-8"?>
<document>
<data id="securities">
</data>
<data id="marketdata">
</data>
<data id="dataversion">
</data>
</document>
Я создал XSD с помощью инструмента xsd.exe
и, после этого, файл * .cs из сгенерированного файла XSD, а также инструмент xsd.exe
. Теперь у меня в сгенерированном файле * .cs (ссылка - https://pastebin.com/Je70yytZ) не очень красивые классы с классом documentDataRowsRow
, который содержит ВСЕ возможные поля атрибутов элементов XML data
.
Итак, вопрос в том, как правильно переписать классы в сгенерированном файле * .cs, чтобы сделать другое сопоставление на основе значения атрибута id
элемента data
?
Например, вместо привязки класса documentData
(со всеми возможными полями атрибутов) ко всем элементам data
, я хочу иметь разные классы (с возможными именами documentDataSecurities, documentDataMarketdata ...) с разными полями и эти классы должны быть привязаны к элементам data
значением атрибута id
.
Как мне переписать этот код, чтобы привязать классы по значению атрибута id
?
[System.Xml.Serialization.XmlElementAttribute("data", Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
public documentData[] Items {