次のようなXMLファイルがあり、Recordタグの属性が必要な場合にのみ、Nameタグのコンテンツを読み取ろうとしています。(以下のコードに続く)
XMLファイルは次のとおりです。
<?xml version="1.0" encoding="utf-8" ?>
<Database>
<Record Number="1">
<Name>John Doe</Name>
<Position>1</Position>
<HoursWorked>290</HoursWorked>
<LastMonthChecked>0310</LastMonthChecked>
</Record>
<Record Number="2">
<Name>Jane Doe</Name>
<Position>1</Position>
<HoursWorked>251</HoursWorked>
<LastMonthChecked>0310</LastMonthChecked>
</Record>
</Database>
これは私がこれまでに持っているC#コードです:
public static string GetName(int EmployeeNumber)
{
XmlTextReader DataReader = new XmlTextReader("Database.xml");
DataReader.MoveToContent();
while (DataReader.Read())
{
if (DataReader.NodeType == XmlNodeType.Element
&& DataReader.HasAttributes && DataReader.Name == "Record")
{
DataReader.MoveToAttribute(EmployeeNumber);
DataReader.MoveToContent();
if (DataReader.NodeType == XmlNodeType.Element
&& DataReader.Name == "Name")
{
return DataReader.ReadContentAsString();
}
}
}
}
したがって、たとえば、2
が関数に渡された場合、文字列を返すようにします"Jane Doe"
。私はXML解析に慣れていないので、助けていただければ幸いです。
ありがとう。