169
Chương 5: XML
4.
4.
Tìm m t nút khi bi t tên c a nó
ộ
ế
ủ
Tìm m t nút khi bi t tên c a nó
ộ
ế
ủ
Bạn cần thu lấy một nút cụ thể trong một
XmlDocument
, và bạn biết tên của nó
nhưng không biết vị trí của nó.
Sử dụng phương thức
XmlDocument.GetElementsByTagName
, phương thức này sẽ dò
tìm toàn bộ tài liệu và trả về tập hợp
System.Xml.XmlNodeList
chứa các nút được
so trùng.
Lớp
XmlDocument
cung cấp phương thức
GetElementsByTagName
dùng để tìm ra các nút có tên
cho trước. Nó trả về kết quả là một tập hợp các đối tượng
XmlNode
.
Đoạn mã dưới đây trình bày cách sử dụng
GetElementsByTagName
để tính tổng giá các item
trong một danh mục bằng cách thu lấy tất cả các phần tử có tên là "
productPrice
":
using System;
using System.Xml;
public class FindNodesByName {
private static void Main() {
// Nạp tài liệu.
XmlDocument doc = new XmlDocument();
doc.Load("ProductCatalog.xml");
// Thu lấy tất cả price.
XmlNodeList prices = doc.GetElementsByTagName("productPrice");
decimal totalPrice = 0;
foreach (XmlNode price in prices) {
// Lấy phần text bên trong của mỗi phần tử được so trùng.
totalPrice += Decimal.Parse(price.ChildNodes[0].Value);
}
Console.WriteLine("Total catalog value: " +
totalPrice.ToString());
Console.ReadLine();
}
}
Bạn cũng có thể dò tìm một phần tài liệu XML bằng phương thức
XmlElement.GetElementsByTagName
(phương thức này sẽ dò tất cả các nút con để tìm ra nút