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