我有一個XML文件如下,我試圖讀取名稱標籤的內容,只有當記錄標籤的屬性是我想要的。 (續下面的代碼)XML/C#:閱讀內容,如果只有屬性是正確的
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解析,所以任何幫助,將不勝感激。
謝謝。
數據是如此之大,以至於將整個文檔加載到'XmlDocument'(然後使用'SelectSingleNode()等)是不實際的? – 2010-03-16 08:40:24