Я пишу приложение C# WinForm
, которое должно читать файл-сущий XML
. Мне нужно разобрать файл XML
и создать структуру данных, чтобы отразить содержимое файла XML
. У меня есть опыт работы в XML
сериализации и, таким образом, я использовал функции .NET
XML.Serialization
. я застрял в чужой XML
структуре, что я не в состоянии соответствовать в классе (корыто атрибуты, элементы и так далее):C# XML Сериализация не вложенных массивов/список
<sheet number="1" name="/" tstamps="/">
<title_block>
<title>ECC Push-Pull</title>
<company/>
<rev>0.1</rev>
<date>Sat 21 Mar 2015</date>
<source>ecc83-pp.sch</source>
<comment number="1" value=""/>
<comment number="2" value=""/>
<comment number="3" value=""/>
<comment number="4" value=""/>
</title_block>
</sheet>
«странно» часть этого списка комментариев. Я привык находить такие «повторяющиеся» элементы в результате сериализации списка/массива элементов с помощью директивы XmlArray. В любом случае использование такого подхода приведет к включению в список элементов. В этом случае, как я могу «отразить» эту структуру? Это код, который я должен использовать (без «недостающих» комментарии):
[XmlRoot("sheet")]
public class Sheet
{
[XmlAttribute("number")]
public int Number { get; }
[XmlAttribute("name")]
public string Name { get; set; }
[XmlAttribute("tstamps")]
public UInt32 TimeStamps { get; set; }
[XmlElement]
public SheetTitle Title { get; set; }
public Sheet()
{
Title = new SheetTitle();
}
}
[XmlRoot("title_block")]
public class SheetTitle
{
[XmlElement("title")]
public string Title { get; set; }
[XmlElement("company")]
public string Company { get; set; }
[XmlElement("rev")]
public string Revision { get; set; }
[XmlElement("date")]
public DateTime Date { get; set; }
[XmlElement("source")]
public string Source { get; set; }
public SheetTitle()
{
Date = DateTime.Now;
}
}
[XmlRoot("comment")]
public class Comment
{
[XmlAttribute("number")]
public int Number { get; set; }
[XmlAttribute("value")]
public string Value { get; set; }
}
У меня есть другая сторона вопроса. Лучшая иерархия классов для отражения этой структуры: a) Вложение классов аналогично элементам xml b) сохранить все классы на одном уровне (без иерархии)? Есть побочные эффекты, которые следует учитывать?
Мы надеемся, что ваша проблема была решена , Если нет, можете подумать об обновлении вашего вопроса .... http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235 – Monty
отсутствовал на праздник Я скоро проверю – weirdgyn