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
、その後Contains:
、値は表示されませんが、値があるはずです:5000.それは構文エラーですか、私はそれが必要です:
<ID>
1
</ID>
私はdotnetperls チュートリアルを行ってきましたが、役に立ちませんでした。