我一直在尝试如何用 XML 制作数据库。我已成功写入数据,如下所示:
<Employees>
<Worker>
<ID>1</ID>
<FirstName>Ilan</FirstName>
<LastName>Berlinbluv</LastName>
<Salary>5000</Salary>
</Worker>
</Employees>
问题是当我尝试使用此代码阅读时:
string writePath = Environment.ExpandEnvironmentVariables("%USERPROFILE%") + @"\Desktop";
string writeFile = writePath + @"\Employees.xml";
using (XmlReader read = XmlReader.Create(writeFile))
{
while (read.Read())
{
if (read.IsStartElement())
{
Console.WriteLine("DEBUG: read.Name = {0}", read.Name);
Console.WriteLine("DEBUG: read.Value = {0}", read.Value);
switch (read.Name)
{
case "Employees":
Console.WriteLine("Start <Employees> master element");
break;
case "Employee":
Console.WriteLine("Start <Employee> element");
break;
case "Worker":
Console.WriteLine("Start <Worker> element");
break;
case "ID":
Console.WriteLine("Start reading <ID> element");
Console.WriteLine("Contains: " + read.Value.Trim());
break;
case "FirstName":
Console.WriteLine("Start reading <FirstName> element");
Console.WriteLine("Contains: " + read.Value.Trim());
break;
case "LastName":
Console.WriteLine("Start reading <LastName> element");
Console.WriteLine("Contains: " + read.Value.Trim());
break;
case "Salary":
Console.WriteLine("Start reading <Salary> element");
Console.WriteLine("Contains: " + read.Value.Trim());
break;
}
}
Console.ReadKey();
}
}
它没有正确读取值,每当它说Start reading <Salary> element
thenContains:
时,它不显示任何值,但应该有一个值:5000。它是语法错误吗,我需要它是这样的:
<ID>
1
</ID>
我一直在做dotnetperls 教程,但无济于事。