intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Cách bind dữ liệu XML

Chia sẻ: HA KIEN | Ngày: | Loại File: PDF | Số trang:8

172
lượt xem
23
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Trong phần này, ta sẽ tìm hiểu về cách bind dữ liệu XML vào một control hiển thị dữ liệu như GridView. Để thực hiện việc này, đầu tiên ta sẽ sử dụng control XmlDataSource quản lý dữ liệu từ file XML

Chủ đề:
Lưu

Nội dung Text: Cách bind dữ liệu XML

  1. Trong phần này, ta sẽ tìm hiểu về cách bind dữ liệu XML vào một control hiển thị dữ liệu như GridView. Để thực hiện việc này, đầu tiên ta sẽ sử dụng control XmlDataSource quản lý dữ liệu từ file XML 1. Binding ở dạng Nonhierarchical Đây là dạng hiển thị dữ liệu đơn giản nhất, không có cấu trúc phân tầng. Tạo nguồn dữ liệu đại diện cho file XML Sau đó ta cần một GridView để hiển thị dữ liệu Trường hợp ta chỉ muốn hiển thị một số column, hãy thiết lập AutoGenerateColumns="false" Biên tập: thienthanit@yahoo.com Nguồn: Internet
  2. 2. Binding sử dụng XPath Trong các ví dụ trên, ta đã biết cách bind dữ liệu vào GridView. Tuy nhiên, với cách làm trên ta chỉ hiển thị các dữ tại cấp cha , nếu muốn hiển thị các dữ liệu ở các node con thì ta phải dùng XPath. Tạo nguồn dữ liệu đại diện cho file XML Sau đó ta cần một GridView để hiển thị dữ liệu Biên tập: thienthanit@yahoo.com Nguồn: Internet
  3. Trong trường hợp ta muốn hiển thị tên của các diễn viên, nếu chỉ áp dụng như trên thì cũng không thể thực hiện được vì là node cháu của . Để thực hiện việc này, thì trong XmlDataSource ta phải chỉ ra XPath. Tạo nguồn dữ liệu đại diện cho file XML Tạo GridView để hiển thị dữ liệu Biên tập: thienthanit@yahoo.com Nguồn: Internet
  4. 3. Binding sử dụng Nested Grids Một trong những cách khác để ta có thể hiển thị các node ở cấp dưới đó là sử dụng Nested Grids hay các các grid lồng nhau. Với các control hiện tại của VS2005 ta có thể thực hiện dễ dàng việc này mà không cần viết code. Ví dụ sau đây, ta sẽ hiển thị danh sách các phim và diễn viên tham gia. Tên của phim nằm trong thẻ Title, tên của diễn viên nằm trong thẻ . Hai thẻ này không đồng cấp, để hiển thị chúng, ta sẽ dung 2 GridView lồng nhau. Tạo ra XmlDataSource Tạo 2 GridView lồng nhau Stars..... Tại thời điểm này, ta sẽ hiển thị được Tên và Giới thiệu của phim, ta cần có them 1 GridView để hiển thị danh sách diễn viên Biên tập: thienthanit@yahoo.com Nguồn: Internet
  5. DataSoruce của GridView này ta sử dụng hàm XPathSelect(), tham số truyền vào là 1 XPath và giá trị trị về là một XmlNodeList. Cuối cùng ta tạo template cho GridView2 và hiển thị dữ liệu &nbsp Biên tập: thienthanit@yahoo.com Nguồn: Internet
  6. 4. XML và Dataset Ta biết rằng XML có khả năng lưu trữ liệu có cấu trúc giống như các table trong CSDL. Trong rất nhiều trường hợp ta sẽ cần chuyển toàn bộ dữ liệu trong bảng vào file XML và ngược lại. ADO.Net hỗ trợ chúng ta rất nhiều trong các thao tác liên quan t ới XML và Dataset. WriteXml() và ReadXml() là 2 phương thức cơ bản nhất  WriteXml(): Ghi dữ liệu từ Dataset vào xml file, TextWriter hay XmlWriter.  SqlDataAdapter DA =  new SqlDataAdapter("SELECT * FROM Project", connectionString);  DataSet DS = new DataSet("DMS");  DA.Fill(DS, "Project"); DS.WriteXml(xmlFile,XmlWriteMode.WriteSchema);  ReadXml(): Tải dữ liệu từ xml file, TextReader hay XmlReader vào Dataset  DataSet DS = new DataSet("DMS"); DS.ReadXml(xmlFileName); Biên tập: thienthanit@yahoo.com Nguồn: Internet
  7. Truy cập Dataset thông qua XML Đây là cách thức giúp ta xử lý dữ liệu trong Dataset giống như với dữ liệu XML. Tức là thay vì xử dụng các hàm của Dataset thì ta sẽ sử dụng các hàm trong XML. Để thực hiện được việc này, ta cần tạo XmlDataDocument. XmlDataDocument xmlDataDoc = new XmlDataDocument(myDataSet); XmlDataDocument được kế thừa từ XmlDocument, nên nó sẽ bao gồm tất cả các phương thức và thuộc tính của XmlDocument để ta xử lý dữ liệu. Một điều quan trọng khác là: sau lệnh khởi tạo trên, ta sẽ có sự đồng bộ giữa Dataset và XML, bất cứ sự thay đổi nào từ 1 phía sẽ đồng thời cập nhật. Ví dụ về sử dụng XmlDataDocument trong hiển thị dữ liệu từ Dataset DA = new SqlDataAdapter("SELECT * FROM Project", connectionString); DataSet DS = new DataSet("DMS"); DA.Fill(DS, "Project"); XmlDataDocument xmlDataDoc = new XmlDataDocument(DS); XmlControl.Document = xmlDataDoc; XmlControl.TransformSource = Server.MapPath("Projects.xslt"); Nội dung của file Project.xslt được dùng để hiển thị dữ liệu lên HTML The Project List Created through XML and XSLT Name: Project Leader: Estimate Effor: Biên tập: thienthanit@yahoo.com Nguồn: Internet
  8. Project status: File XML sử dụng trong ví dụ DVDList.xml Biên tập: thienthanit@yahoo.com Nguồn: Internet
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2