TIN HỌC ỨNG DỤNG 2 - K11
Bạn hãy đăng ký làm thành viên để có thể xem các thông tin trong lớp và viết bài trong diễn đàn.

Không những thế, sau khi đăng ký bạn sẽ nhận được sự hỗ trợ của diễn đàn nhiều hơn.
Change background image
TIN HỌC ỨNG DỤNG 2 - K11

Khoa CNTT - ĐH Công nghiệp Hà Nội


Go downMessage [Page 1 of 1]

© FMvi.vn

on 3/10/2011, 21:34

Admin

Bài viết này mô tả cách sử dụng các XmlTextReader lớp đọc Extensible Markup Language (XML) từ một tệp. XmlTextReader cung cấp trực tiếp phân tích và tokenizing của XML và triển khai XML 1.0 đặc điểm kỹ thuật cũng như không gian tên XML đặc điểm kỹ thuật từ World Wide Web Consortium (W3C). Bài viết này cung cấp truy cập nhanh, tokenized dòng XML chứ không phải là bằng cách sử dụng một mô hình đối tượng như XML Document Object Model (DOM).

Yêu cầu
Danh sách sau vạch ra được đề nghị phần cứng, phần mềm, cơ sở hạ tầng mạng và gói dịch vụ mà bạn cần:

Microsoft Visual Studio 2005 hoặc Microsoft Visual Studio.NET

Bài viết này giả định rằng bạn đã quen thuộc với các chủ đề sau:

Thuật ngữ XML
Việc tạo và đọc một tập tin XML

Làm thế nào để đọc XML từ một tập tin
Ví dụ này sử dụng một tập tin tên Books.xml. Bạn có thể tạo riêng của bạn tập tin Books.xml hoặc dùng tập tin mẫu được bao gồm trong các.NET Kit phát triển phần mềm (SDK) QuickStarts trong cặp sau:
\Program Files\Microsoft visual Studio.NET\FrameworkSDK\Samples\QuickStart\Howto\Samples\Xml\Transformxml\Cs
Bạn phải sao Books.xml vào thư mục \Bin\Debug, nằm dưới thư mục mà bạn tạo ra dự án này. Books.xml cũng có sẵn để tải về. Xem để các "Tham khảo"phần cho vị trí tải về.

Bắt đầu Visual Studio 2005 hoặc Visual Studio.NET.
Tạo ra một mới Visual C# giao diện điều khiển đơn. Bạn tiến hành trực tiếp đến các "Danh sách mã hoàn chỉnh"phần hoặc tiếp tục thông qua các bước sau để xây dựng các ứng dụng.
Đảm bảo rằng các dự án có chứa một tham chiếu đến các System.xml.dll gan y Cynulliad.
Chỉ rõ các bằng cách sử dụng chỉ thị trên các System.xml không gian tên do đó bạn không phải vượt qua vòng loại XmlTextReader tuyên bố sau đó trong mã của bạn. Bạn phải sử dụng các bằng cách sử dụng chỉ thị trước khi bất kỳ tờ khai khác.
Code:

using System.Xml;

Tạo một thể hiện của một XmlTextReader đối tượng, và cư nó với các tập tin XML. Thông thường, các XmlTextReader lớp học được sử dụng nếu bạn cần truy cập các XML như dữ liệu thô mà không overhead DOM; Vì vậy, các XmlTextReader lớp cung cấp một cơ chế nhanh hơn để đọc XML. Các XmlTextReader lớp có nhà thầu khác nhau để xác định vị trí của dữ liệu XML. Các mã sau đây tạo ra một thể hiện của các XmlTextReader lớp và tải tập tin Books.xml. Thêm mã sau vào thủ tục chính của Class1.
Code:
XmlTextReader reader = new XmlTextReader ("books.xml");
Đọc qua các XML. (Lưu ý rằng bước này chứng tỏ một bên ngoài "trong khi" vòng lặp, và các bước tiếp theo hai chứng minh làm thế nào để sử dụng rằng vòng lặp để đọc các XML.) Sau khi bạn tạo các XmlTextReader đối tượng, sử dụng các Đọc phương pháp để đọc dữ liệu XML. Các Đọc phương pháp tiếp tục di chuyển qua các tệp tin XML tuần tự cho đến khi nó đạt đến cuối cùng của tập tin, điểm mà tại đó các Đọc phương pháp trả về một giá trị của "Sai."
Code:
while (reader.Read())
{
    // Do some work here on the data.
   Console.WriteLine(reader.Name);
}
Console.ReadLine();

Kiểm tra các nút. Xử lý dữ liệu XML, mỗi bản ghi có một loại nút mà có thể được xác định từ các NodeType bất động sản. Các Tên và Giá trị tài sản trả lại nút tên (các nguyên tố và thuộc tính tên) và giá trị nút (văn bản nốt) hiện tại nút (hoặc hồ sơ). Các NodeType liệt kê sẽ xác định loại nút. Mẫu mã sau sẽ hiển thị tên của các yếu tố và loại tài liệu. Ghi chú rằng mẫu này bỏ qua thuộc tính nguyên tố.
Code:

while (reader.Read())
{
    switch (reader.NodeType)
    {
        case XmlNodeType.Element: // The node is an element.
            Console.Write("<" + reader.Name);
  Console.WriteLine(">");
            break;
  case XmlNodeType.Text: //Display the text in each element.
            Console.WriteLine (reader.Value);
            break;
  case XmlNodeType. EndElement: //Display the end of the element.
            Console.Write("</" + reader.Name);
  Console.WriteLine(">");
            break;
    }
}
Kiểm tra các thuộc tính. Loại nốt nguyên tố có thể bao gồm một danh sách các thuộc tính nút được liên kết với họ. Các MovetoNextAttribute phương pháp di chuyển theo tuần tự qua mỗi thuộc tính nguyên tố. Sử dụng các HasAttributes bất động sản để thử nghiệm cho dù nút có thuộc tính. Các AttributeCount bất động sản trở về số lượng các thuộc tính cho nút hiện tại.
Code:
while (reader.Read())
{
      switch (reader.NodeType)
      {
          case XmlNodeType.Element: // The node is an element.
              Console.Write("<" + reader.Name);

              while (reader.MoveToNextAttribute()) // Read the attributes.
                  Console.Write(" " + reader.Name + "='" + reader.Value + "'");
      Console.WriteLine(">");
              break;
    case XmlNodeType.Text: //Display the text in each element.
              Console.WriteLine (reader.Value);
              break;
    case XmlNodeType. EndElement: //Display the end of the element.
              Console.Write("</" + reader.Name);
      Console.WriteLine(">");
              break;
      }
  }
   
Lưu và đóng dự án của bạn.

Quay lại đầu trang
Danh sách mã hoàn chỉnh
Code:

using System;
using System.Xml;

namespace ReadXMLfromFile
{
    /// <summary>
    /// Summary description for Class1.
    /// </summary>
    class Class1
    {
        static void Main(string[] args)
        {
            XmlTextReader reader = new XmlTextReader ("books.xml");
            while (reader.Read())
            {
                switch (reader.NodeType)
                {
                    case XmlNodeType.Element: // The node is an element.
                        Console.Write("<" + reader.Name);
                        Console.WriteLine(">");
                        break;
                    case XmlNodeType.Text: //Display the text in each element.
                        Console.WriteLine (reader.Value);
                        break;
                    case XmlNodeType.EndElement: //Display the end of the element.
                        Console.Write("</" + reader.Name);
                        Console.WriteLine(">");
                        break;
                }
            }
            Console.ReadLine();
        }
    }
}
   
Mẫu đầu ra
Code:

<bookstore>
<book>
<title>
The Autobiography of Benjamin Franklin
</title>
<author>
<first-name>
Benjamin
</first-name>
<last-name>
Franklin
</last-name>
</author>
<price>
8.99
</price>
</book>
<book>
<title>
The Confidence Man
</title>
<author>
<first-name>
Herman
</first-name>
<last-name>
Melville
</last-name>
</author>
<price>
11.99
</price>
</book>
<book>
<title>
The Gorgias
</title>
<author>
<name>
Plato
</name>
</author>
<price>
9.99
</price>
</book>
</bookstore>
Khắc phục sự cố
Khi bạn kiểm tra mã, bạn có thể nhận được thông báo lỗi sau ngoại lệ: Unhandled ngoại lệ: System.Xml.XmlException: tuyên bố bất ngờ XML. Tuyên bố XML phải là nút đầu tiên trong tài liệu, và không có ký tự không gian màu trắng được phép xuất hiện trước khi nó.

Thông tin bổ sung: lỗi hệ thống. Xảy ra lỗi ngoại lệ vào dòng sau Mã: trong khi
Code:
(reader.Read())
Ngoại lệ lỗi gây ra bởi một chỉ dẫn xử lý không hợp lệ. Ví dụ, các hướng dẫn chế biến có thể chứa khoảng trắng không liên quan. Dưới đây là một ví dụ về một hướng dẫn chế biến không hợp lệ:
Code:
<?xml version='1.0' ?>

Code:
Thẻ xml này có một không gian trước các '<’ bracket.="" remove="" the="" preceding="" whitespace="" to="" resolve="" the="" error.=""></’>

TÀI LIỆU THAM KHẢO

Các tập tin sau đây có sẵn để tải về từ Microsoft Download Center:
Tải về
[You must be registered and logged in to see this link.]
Để biết thêm chi tiết về.Các lớp học NET Framework XML và C#, ghé thăm Web site sau của Microsoft Developer Network (MSDN):
[You must be registered and logged in to see this link.]
Để biết thêm thông tin về các XmlReader lớp, truy cập vào MSDN Web site sau:
[You must be registered and logged in to see this link.] (vs.71) .aspx
Để biết thêm về cách sử dụng XmlReader để đọc dữ liệu XML, truy cập vào trang web MSDN Web sau đây:
[You must be registered and logged in to see this link.] (VS.71) .aspx

[You must be registered and logged in to see this link.] (vs.71) .aspx
Để có thông tin tổng quát hơn về Visual C#.NET hoặc XML trong.NET, thấy các nhóm tin Usenet sau đây:
[You must be registered and logged in to see this link.]

[You must be registered and logged in to see this link.]

View user profile http://my.opera.com/anhlavip12a4/blog/

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà MinhTuan
Trả lời nhanh

Back to topMessage [Page 1 of 1]

  © FMvi.vn

« Xem bài trước | Xem bài kế tiếp »

Bài viết liên quan

    Quyền hạn của bạn:

    You cannot reply to topics in this forum