Требуются пояснения по работе с 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;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д