После выполнения метода Main, записывающего XML-файл, метод Main, который должен читать файл, не выполняется.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 После выполнения метода Main, записывающего XML-файл, метод Main, который должен читать файл, не выполняется.

Сообщение Anonymous »

У меня есть два класса, которые содержат основные методы, один называется WriteXML, это класс, который записывает данные из пользовательского класса (этот класс не содержит основного метода) в XML-файл.
Второй класс с методом Main называется ReadXML, который должен читать XML-файл, который был записан непосредственно перед этим классом WriteXML.
Класс WriteXML:

Код: Выделить всё

using System;
using System.Xml;
using static User;

internal class WriteXML
{
public static void Main(string[] args)
{
User user1 = new User();
user1.Vorname = "Max";
user1.Nachname = "Mustermann";
user1.Geburtstag = new DateTime(2000, 1, 1);
user1.Alter(user1.Geburtstag);

XmlTextWriter textWriter = new XmlTextWriter("C:\\Users\\ematric\\Desktop\\Philipp\\Solution/myXmlFile.xml", null);
textWriter.WriteStartDocument();

textWriter.WriteComment("First Comment XmlTextWriter Sample Example");
textWriter.WriteComment("myXmlFile.xml in root dir");

textWriter.WriteStartElement("Student");
textWriter.WriteStartElement("r", "RECORD", "urn:record");

textWriter.WriteStartElement("Vorname", "");
textWriter.WriteString(user1.Vorname);
textWriter.WriteEndElement();

textWriter.WriteStartElement("Nachname", "");
textWriter.WriteString(user1.Nachname);
textWriter.WriteEndElement();

textWriter.WriteStartElement("Geburtstag", "");
textWriter.WriteString(user1.Geburtstag.ToString());
textWriter.WriteEndElement();

textWriter.WriteStartElement("Alter", "");
textWriter.WriteString(user1.Alter(user1.Geburtstag).ToString());
textWriter.WriteEndElement();

textWriter.WriteEndDocument();
textWriter.Close();
}
}
Класс ReadXML:

Код: Выделить всё

using System;
using System.Xml;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

internal class ReadXML
{
public static void Main(string[] args)
{

Console.WriteLine(10);

XmlTextReader textReader = new XmlTextReader("C:\\Users\\ematric\\Desktop\\Philipp\\Solution/myXmlFile.xml");
textReader.Read();

while (textReader.Read())
{
textReader.MoveToElement();
Console.WriteLine("XmlTextReader Properties Test");
Console.WriteLine("===================");

Console.WriteLine("Name:" + textReader.Name);
Console.WriteLine("Base URI:" + textReader.BaseURI);
Console.WriteLine("Local Name:" + textReader.LocalName);
Console.WriteLine("Attribute Count:" + textReader.AttributeCount.ToString());
Console.WriteLine("Depth:" + textReader.Depth.ToString());
Console.WriteLine("Line Number:" + textReader.LineNumber.ToString());
Console.WriteLine("Node Type:" + textReader.NodeType.ToString());
Console.WriteLine("Attribute Count:" + textReader.Value.ToString());

}
}

}

Класс User:

Код: Выделить всё

using System.Net.Mail;

internal class User
{
public string Vorname;
public string Nachname;
public DateTime Geburtstag = new DateTime();
private int alter;

public int Alter(DateTime Geburtstag)
{
this.Geburtstag = Geburtstag;
alter = (int) (DateTime.Now - Geburtstag).TotalDays / 365;
return alter;
}
}
Когда я запустил программу в Visual Studio, я получил ошибку, поскольку программа не знала, с чего начать, поэтому я настроил так, чтобы класс WriteXML выполнялся первым. Файл был создан, как я и ожидал, но класс ReadXML его не прочитал. Если файл уже создан и я сначала запускаю класс ReadXML, файл читается так, как я хочу.
Поэтому мне интересно, почему класс ReadXML не выполняется, когда WriteXML запускается непосредственно перед ним. .

Подробнее здесь: https://stackoverflow.com/questions/784 ... d-that-sho
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»