Требуются пояснения по работе с XML - C#
Формулировка задачи:
Здравствуйте.
Я пытаюсь научиться работать с XML, в частности сохранять данные в файл и читать из него. Сделал класс с несколькими свойствами:
Создал переменную класса и записываю её в файл следующим образом:
В результате получается вот такой документ:
Теперь я пытаюсь из него что-то считать:
И получаю ошибку "Ссылка на объект не указывает на экземпляр объекта." во второй строке. Я думал, что обратился к элементу Buyer и пытаюсь вытащить из него ID, разве нет?
Ну и так же мне интересно, а правильно ли я вообще пишу данные в файл или это принято делать как-то по другому.
public class Buyer
{
public int ID { get; set; }
public string Name { get; set; }
public Races Race { get; set; }
public Specialties Specialty { get; set; }
public byte AttitudeTowardsYou { get; set; }
}XmlTextWriter textWritter = new XmlTextWriter("TestFile.xml", Encoding.UTF8);
textWritter.WriteStartDocument();
textWritter.WriteStartElement("head");
textWritter.WriteEndElement();
textWritter.Close();
XmlDocument documentBuyer = new XmlDocument();
documentBuyer.Load("TestFile.xml");
XmlNode elementBuyer = documentBuyer.CreateElement("Buyer");
documentBuyer.DocumentElement.AppendChild(elementBuyer); // указываем родителя
XmlAttribute attribute = documentBuyer.CreateAttribute("ID"); // создаём атрибут
attribute.Value = buyer.ID.ToString(); // устанавливаем значение атрибута
elementBuyer.Attributes.Append(attribute); // добавляем атрибут
//Ну и так далее для всех значений
//...
documentBuyer.Save("TestFile.xml");<?xml version="1.0" encoding="utf-8"?> <head> <Buyer ID="38" Name="Test number 39" Race="2" Specialty="1" AttitudeTowardsYou="50" /> </head>
XDocument xDocument = XDocument.Load("TestFile.xml");
string s = xDocument.Element("Buyer").Attribute("ID").Value;
MessageBox.Show(s);Решение задачи: «Требуются пояснения по работе с XML»
textual
Листинг программы
string s = xDocument.Root.Element("Buyer").Attribute("ID").Value;