Mình có 1 xâu dạng xml hoàn chỉnh như thế này:
<?xml version="1.0" encoding="UTF-8"?>
<dtx xmlns="http://google.com">
<meeting name="Chien" surface="S" startTime="3:00">
<race race="1" time="1300" name="" type="D" distance="400">
<runner runner="1" name="DocCoCauBai" />
<runner runner="2" name="Duong Qua" />
<runner runner="3" name="Quach Tinh" />
<runner runner="4" name="Kim Luan Phap Vuong" />
</race>
<race race="2" time="1400" name="" type="D" distance="445">
<runner runner="1" name="Dong Ta" />
<runner runner="2" name="Tay Doc" />
<runner runner="3" name="Nam De" />
<runner runner="4" name="Bac Cai" />
</race>
</meeting>
</dtx>
Mình dùng hàm này để lấy được các giá trị name:
private List<string> getValue(string xmlStr, string urn, string att)
{
List<string> categories = new List<string>();
try
{
XmlDocument doc = new XmlDocument();
doc.LoadXml(xmlStr);
XmlNodeList nodes = doc.DocumentElement.GetElementsByTagName(urn);
foreach (XmlNode node in nodes)
{
categories.Add(node.Attributes[att].Value);
}
}
catch
{
HDMessageBox.Show("404 - Not Found", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
return categories;
}
Ví dụ gọi: getValue(xmlStr, “meeting”, “name”) sẽ cho 1 mảng các name.
Vấn đề bây giờ là mình chỉ muốn lấy các name thuộc race =“1”, ko muốn lấy các name thuộc race =“2” mà không biết làm sao, tham khảo nhiều mà ko ra kết quả nên khá mệt mỏi, mong ngóng các cao nhân vào giúp đỡ!

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?