При завершении выкидывает ошибку:
process is terminated due to stackoverflowexception.
Файл создает, но он пуст.
Компилятор говорит, что есть бесконечный цикл или рекурсия.
Main
пуст, только вызвал метод для считывания.
public void SaveGarage()
{
XmlTextWriter b = new XmlTextWriter(@"D:\tmp1.xml", Encoding.Unicode);
b.Formatting = Formatting.Indented;
b.WriteStartDocument();
b.WriteStartElement("garage");
for (int i = 0; i < garage.Count; i++)
{
b.WriteStartElement("car");
b.WriteStartElement("name");
b.WriteString(garage[i].Name);
b.WriteEndElement();
b.WriteStartElement("number");
b.WriteString(garage[i].Number);
b.WriteEndElement();
b.WriteStartElement("Price");
b.WriteString(garage[i].Price);
b.WriteEndElement();
b.WriteStartElement("model");
b.WriteAttributeString("color", garage[i]._Model.color);
b.WriteString(garage[i]._Model.name);
b.WriteEndElement();
b.WriteEndElement();
}
b.WriteEndElement();
b.Close();
}
Первое что бросается в глаза - это garage.Count. Значение переменной задаётся извне и неизвестно какое. Возможно проблема в нём.
Также, если в файл пишется мало (менее 100Мб), то посоветую использовать LINQ to XML для более наглядной записи в файл. К примеру:
var contacts =
new XElement("Contacts",
new XElement("Contact",
new XElement("Name", "Patrick Hines"),
new XElement("Phone", "206-555-0144",
new XAttribute("Type", "Home")),
new XElement("phone", "425-555-0145",
new XAttribute("Type", "Work")),
new XElement("Address",
new XElement("Street1", "123 Main St"),
new XElement("City", "Mercer Island"),
new XElement("State", "WA"),
new XElement("Postal", "68042")
)
)
);
var doc = new XDocument(contacts);
doc.Save(@"D:\tmp1.xml");
Виртуальный выделенный сервер (VDS) становится отличным выбором
Я добавляю в БД запись, стоки беру из textboxЕсли textbox не заполнен, то нужно поставить значение NULL
Есть excel-файл, в нем два столбца А и ВИз программы на C# мне нужно организовать поиск значения в столбце А, и вернуть в программу рядом стоящее...