Помогите разобраться с десериализацией.
Создал XML, хочется именно такой вид, но не получается его распарсить. Все время теряется верхний уровень иерархии
XML
<calc xmlns="calc.xsd" version="1.0">
<node name="Геометрия">
<node name="Объемы"></node>
</node>
</calc>
calc
[Serializable]
[XmlRoot("calc", Namespace = "calc.xsd")]
public class CalcTemplate
{
[XmlArray("node")]
[XmlArrayItem("node")]
public ObservableCollection<Node> Nodes
{
get;
set;
}
[XmlAttribute("version")]
public string Version
{
get;
set;
}
}
node
[XmlRoot("calc", Namespace = "calc.xsd")]
public class Node
{
[XmlAttribute("name")]
public string Name
{
get; set;
}
[XmlArray("node")]
[XmlArrayItem("node")]
public ObservableCollection<Node> Children
{
get;
set;
}
}
}
Верхним уровнем иерархии становится раздел "объемы", а первый почему-то пропускается. Чувствую, что ошибка где-то в описании calc, но не понимаю в чем. Если атрибуты убрать, то само собой, вообще пустой список приходит.
Десериализую так:
var serializer = new XmlSerializer(typeof(CalcTemplate));
template = (CalcTemplate)serializer.Deserialize(xmlReader);
xmlReader.Close();
Попробуйте так
[XmlRoot("calc", Namespace = "calc.xsd")]
public class Node
{
[XmlAttribute("name")]
public string Name
{
get; set;
}
[XmlElement("node")]
public ObservableCollection<Node> Children
{
get;
set;
}
}
[Serializable]
[XmlRoot("calc", Namespace = "calc.xsd")]
public class CalcTemplate
{
[XmlElement("node")]
public ObservableCollection<Node> Nodes
{
get;
set;
}
[XmlAttribute("version")]
public string Version
{
get;
set;
}
}
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Имею простое приложение c# Windows formДалее есть единственная форма с контролом richtextbox, который закреплен на всей форме(по размеру)
Есть сайт на WordPress и тема AppointmentДля того чтобы вставить свои иконки вместо Font-Awesome использовал следующий код в таблице стилей, но изменить...
Доброго времени сутокПытаюсь перенести сайт с конструктора на хостин, все вроде скопировал, немного видоизменил но возникла проблема, с боковым...