Я создал XSD-файл из Visual Studio 2010,
Затем я использую xsd /c mydemo.xsd
для генерации класса для себя, чтобы я мог создать файл XML во время выполнения.
ОднакоКогда я использую этот класс, заполняю некоторые значения и сериализую объект, мне не нравится XML-файл.
Вот мой XSD-файл Нажмите здесь, чтобы увидеть
Я ожидал, что XML-файл будет Нажмите здесь, чтобы увидеть (Сгенерировано из Visual Studio «Образец XML»)
Но когда я пытаюсь его сериализовать, XML-файлэто как Нажмите здесь, чтобы увидеть
Формат совершенно другой
Например,
Ожидается:
<ColumnInfo>
<Column Type="Type1" DisplayValue="DisplayValue1" Key="Key1"/>
<Column Type="Type2" DisplayValue="DisplayValue2" Key="Key2"/>
<Column Type="Type3" DisplayValue="DisplayValue3" Key="Key3"/>
</ColumnInfo>
, норезультат генерации выглядит следующим образом:
<columnInfoField>
<ColumnType>
<displayValueField>Display value for key 1</displayValueField>
<keyField>key1</keyField>
<typeField>string</typeField>
</ColumnType>
<ColumnType>
<displayValueField>Display value for key 2</displayValueField>
<keyField>key2</keyField>
<typeField>int</typeField>
</ColumnType>
<ColumnType>
<displayValueField>Display value for key 3</displayValueField>
<keyField>key3</keyField>
<typeField>long</typeField>
</ColumnType>
</columnInfoField>
И код, который я реализую для сериализации отчета:
http://msdn.microsoft.com/en-us/library/ms731073.aspx
DataContractSerializer dcs = new DataContractSerializer(typeof(Report));
using (XmlDictionaryWriter xdw = XmlDictionaryWriter.CreateTextWriter(File.Create(@"C:\demo\schema\output.xml"), Encoding.UTF8))
{
dcs.WriteObject(xdw, report);
}
Не уверен, почему я не могу использовать«XmlSerializer», когда я его использую, будет жаловаться на то, что не может привести тип массива к чему-либо ...
Невозможно создать временный класс (повторноsult = 1).
ошибка CS0030: невозможно преобразовать тип 'ColumnValueType []' в "ColumnValueType"
ошибка CS0029: невозможно неявное преобразование типа "ColumnValueType" в "ColumnValueType []"
Так, кто-нибудь может дать мне несколько советов, как я могу исправить свой формат XML ???