Cấp bậc tác giả:

DOTNET

Xử lý XML trong lập trình C# .NET - Phần III

Được viết bởi QuangIT ngày 20/09/2012 lúc 02:58 PM
Lớp XmlDocument có phương thức GetElementByTagName() giúp bạn tìm ra những node có tag do bạn chỉ định. Chẳng hạn, trong employees.xml có 3 nút employee
  • 0
  • 9940

Xử lý XML trong lập trình C# .NET - Phần III

KỲ 3

NHẬN CÁC PHẦN TỬ BẤT KỲ BẰNG CÁCH SỬ DỤNG PHƯƠNG THỨC GetElementByTagName()


Lớp XmlDocument có phương thức GetElementByTagName() giúp bạn tìm ra những node có tag do bạn chỉ định. Chẳng hạn, trong employees.xml có 3 nút employee. Mình nhập chuỗi "employee" thì nó sẽ trả về cho mình 3 nút này dễ dàng.

Ứng dụng của chúng ta gồm 1 textbox để nhập tên tag cần lấy, 1 listbox để hiện thi danh sách các nút có tag tìm được, 1 textbox để hiển thị nội dung của nút đó. Và 1 button để thực thi câu lệnh dùng để lấy nút thông qua tên tag.



Trước khi thụ lý, tình huống Click của button, bạn cần khai báo 1 biến thành viên của class như sau:

XmlNodeList nodelist

 XmlNodeList là 1 class dùng để chứa 1 tập hợp các lớp. (tựa giống thằng ArrayList thôi). Không có gì phải quan trọng, nghĩ xa xôi về nó :-D


Bây giờ mới đến lúc thụ lý tình huống Click của button nè:

private void Button1_Click(object sender, System.EventArgs e)
 {
     //làm sạch listbox
     ListBox1.Items.Clear();
     //mở tài liệu XML
     XmlDocument doc = new XmlDocument();
     doc.Load(Application.StartupPath + "\\employees.xml");
     //đưa tất cả các nút tìm được qua tên tag
     //vào nodelist
     nodelist = doc.GetElementsByTagName(TextBox1.Text);
     //đi lần lượt qua từng node cuaa nodelist
     //và đưa nó vào listbox
     foreach (XmlNode node in nodelist) {
         ListBox1.Items.Add(node.Name);
     }
 }

Bây giờ, mỗi lần người dùng chọn 1 tên nút trên listbox thì giá trị của nút đó sẽ được hiển thị trên textbox kia thì ta cần thụ lý tình huống SelectedIndexChanged của listbox:


private void ListBox1_SelectedIndexChanged(object sender, System.EventArgs e)
 {
     TextBox2.Text = nodelist(ListBox1.SelectedIndex).InnerText;
 }

Nguồn bài viết: Sưu tầm

BÌNH LUẬN BÀI VIẾT

Bài viết mới nhất

LIKE BOX

Bài viết được xem nhiều nhất

HỌC HTML