У меня есть файл XML, который имеет следующуюЧтение XML-файл так же, как это
Все, что я пытаюсь сделать, это отобразить текст в нескольких строках текстового поля так же, как он находится в файле. Я нашел код на сайте Microsoft и немного изменил его для работы, но я все еще не совсем там.
<Employees>
<Employee>
<Name>Davolio, Nancy</Name>
<Title>Sales Representative</Title>
<BirthDay>12/08/1948</BirthDay>
<HireDate>05/01/1992</HireDate>
</Employee>
<Employee>
<Name>Fuller, Andrew</Name>
<Title>Vice President, Sales</Title>
<BirthDay>02/19/1952</BirthDay>
<HireDate>08/14/1992</HireDate>
</Employee>
<Employee>
<Name>Leverling, Janet</Name>
<Title>Sales Representative</Title>
<BirthDay>08/30/1963</BirthDay>
<HireDate>04/01/1992</HireDate>
</Employee>
Код:
XmlTextReader reader = new XmlTextReader("Employees.xml");
string contents = "";
while (reader.Read())
{
reader.MoveToContent();
if (reader.NodeType == System.Xml.XmlNodeType.Element)
contents += "<" + reader.Name + ">\n ";
if (reader.NodeType == System.Xml.XmlNodeType.Text)
contents += reader.Value + "</" + reader.Name+ ">\n";
}
//Console.Write(contents);
txtStats.Text = "File Creation Time = " + File.GetCreationTime(Server.MapPath("../XMLFiles/Employees.xml")).ToString()
+ "\n" + "File Last Access Time = " + File.GetLastAccessTime(Server.MapPath("../XMLFiles/Employees.xml")).ToString()
+ "\n" + "File Last Write Time = " + File.GetLastWriteTime(Server.MapPath("../XMLFiles/Employees.xml")).ToString()
+ "\n"
+ "\n"
+ contents.ToString();
Это заставляет меня следующее.
<Employees>
<Employee>
<Name>
Davolio, Nancy</>
<Title>
Sales Representative</>
<BirthDay>
12/08/1948</>
<HireDate>
05/01/1992</>
<Employee>
<Name>
Fuller, Andrew</>
<Title>
Vice President, Sales</>
<BirthDay>
02/19/1952</>
<HireDate>
08/14/1992</>
<Employee>
<Name>
Leverling, Janet</>
<Title>
Sales Representative</>
<BirthDay>
08/30/1963</>
<HireDate>
04/01/1992</>
Если есть лучший способ сделать это, я рад услышать об альтернативах.
Почему бы не просто загрузить его с 'File .ReadAllText'? Кажется, вам не кажется, что это xml. – Blorgbeard
Или вы можете сделать 'XDocument.Load (filename) .ToString()', если вы хотите автоматически отформатировать его – Blorgbeard