Bạn hiện đang ngoại tuyến, hãy chờ internet để kết nối lại

Làm thế nào để truy vấn XML với một biểu hiện XPath bằng cách sử dụng Visual C#

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch máy của Microsoft chứ không phải do con người dịch. Microsoft cung cấp các bài viết do con người dịch và cả các bài viết do máy dịch để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng ngôn ngữ của bạn. Tuy nhiên, bài viết do máy dịch không phải lúc nào cũng hoàn hảo. Loại bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, giống như một người nước ngoài có thể mắc sai sót khi nói ngôn ngữ của bạn. Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra. Microsoft cũng thường xuyên cập nhật phần mềm dịch máy này.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này:308333
Đối với một Microsoft Visual Basic.NET Phiên bản của bài viết này, xem 301220.

Bài viết này đề cập đến Microsoft sau.Không gian tên thư viện lớp của NET Framework:
  • System.xml.XPath

TRONG TÁC VỤ NÀY

TÓM TẮT
Bài viết này chứng tỏ làm thế nào để truy vấn một XPathDocument đối tượng với một biểu hiện XML đường dẫn ngôn ngữ (XPath) sử dụng các XPathNavigator lớp học. XPath được sử dụng lập trình để đánh giá các biểu thức và chọn các nút cụ thể trong một tài liệu.

back to the top

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:
  • Visual C#
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
  • XPath cú pháp
back to the top

Làm thế nào để truy vấn XML với một biểu hiện XPath

  1. Tạo ra một mới Visual C# giao diện điều khiển đơn trong Visual Studio.

    LƯU Ý: Ví dụ này sử dụng một tập tin tên Books.xml. Bạn có thể tạo tập tin Books.xml riêng của bạn, hoặc bạn có thể sử dụng mẫu được bao gồm trong các.NET phần mềm phát triển Kit (SDK) Quickstarts. Nếu bạn không có Quickstarts được cài đặt và không muốn cài đặt chúng, xem phần "Tham khảo" cho Books.xml tải về vị trí. Nếu bạn có Quickstarts được cài đặt, các tập tin có thể được tìm thấy trong thư mục sau đây:
    Chương trình Files\Microsoft.NET\FrameworkSDK\Samples\Quickstart\Howto\Samples\Xml\Transformxml\VB
    Bạn phải sao tệp đến thư mục \Bin\Debug, nằm dưới thư mục mà bạn tạo ra dự án này.
  2. Đảm bảo rằng các dự án tham chiếu các System.xml không gian tên.
  3. Sử dụng các bằng cách sử dụng tuyên bố về sự XMLXPath không gian tên do đó bạn không phải vượt qua vòng loại tờ khai trong những không gian tên sau trong mã của bạn. Bạn phải sử dụng các bằng cách sử dụng tuyên bố trước để bất kỳ tờ khai khác, như sau:
    using System.Xml;using System.Xml.XPath;					
  4. Khai báo các biến thích hợp. Tuyên bố một XPathDocument đối tượng để giữ tài liệu XML, một XpathNavigator đối tượng để đánh giá các biểu thức XPath, và một XPathNodeIterator đối tượng để iterate qua các nút đã chọn. Tuyên bố một Chuỗi đối tượng giữ XPath expressions. Thêm mã tuyên bố trong các Chính chức năng trong Class1.
       XPathNavigator nav;   XPathDocument docNav;   XPathNodeIterator NodeIter;   String strExpression;					
  5. Tải một XPathDocument với các mẫu tập tin Books.xml.Các XPathDocument lớp sử dụng phép biến đổi ngôn ngữ Extensible Stylesheet (XSLT) để cung cấp một bộ nhớ cache nhanh và hiệu suất theo định hướng cho xử lý tài liệu XML. Nó tương tự như để XML Document Object Model (DOM) nhưng cao tối ưu hóa cho xử lý XSLT và mô hình dữ liệu XPath.
        // Open the XML.    docNav = new XPathDocument(@"c:\books.xml");					
  6. Tạo ra một XPathNavigator từ tài liệu. Các XPathNavigator đối tượng được dùng để chỉ đọc XPath truy vấn. XPath truy vấn có thể trở về một giá trị kết quả hoặc nhiều các nút.
         // Create a navigator to query with XPath.     nav = docNav.CreateNavigator();					
  7. Tạo ra một biểu hiện XPath để tìm chi phí trung bình cho một cuốn sách. Này biểu hiện XPath trả về một giá trị duy nhất. Đầy đủ chi tiết về XPath cú pháp, xem "XPath cú pháp" ở phần "Tham khảo".
         // Find the average cost of a book.     // This expression uses standard XPath syntax.     strExpression = "sum(/bookstore/book/price) div count(/bookstore/book/price)";					
  8. Sử dụng các Đánh giá phương pháp của các XPathNavigator đối tượng để đánh giá các biểu thức XPath. Các Đánh giá phương pháp trả về các kết quả của biểu thức.
        // Use the Evaluate method to return the evaluated expression.    Console.WriteLine("The average cost of the books are {0}", nav.Evaluate(strExpression));
  9. Tạo ra một biểu hiện XPath để tìm tất cả các sách mà chi phí nhiều hơn mười đô la. Biểu hiện XPath này trở về chỉ tiêu đề các nút từ nguồn XML.
        // Find the title of the books that are greater then $10.00.    strExpression = "/bookstore/book/title[../price>10.00]";					
  10. Tạo ra một XPathNodeIterator Đối với các nút được chọn với các Chọn phương pháp của các XPathNavigator. Các XPathNodeIterator đại diện cho một nodeset XPath và do đó hỗ trợ hoạt động từ ngày nodeset này.
        // Select the node and place the results in an iterator.    NodeIter = nav.Select(strExpression);
  11. Sử dụng các XPathNodeIterator, mà đã được trả lại từ các Chọn phương pháp XPathNavigator, để di chuyển qua các nút đã chọn. Trong trường hợp này, bạn có thể sử dụng các MoveNext phương pháp của các XPathNodeIterator để iterate qua tất cả các nút đã chọn.
      Console.WriteLine("List of expensive books:");  //Iterate through the results showing the element value.  while (NodeIter.MoveNext())  {      Console.WriteLine("Book Title: {0}", NodeIter.Current.Value);  };					
  12. Sử dụng các ReadLine phương pháp để thêm một tạm dừng vào cuối màn hình giao diện điều khiển dễ dàng hơn hiển thị kết quả trên.
        // Pause    Console.ReadLine();					
  13. Xây dựng và chạy dự án của bạn. Lưu ý rằng các kết quả được hiển thị trong cửa sổ giao diện điều khiển.
back to the top

Khắc phục sự cố

Khi bạn kiểm tra mã, bạn có thể nhận các thông báo lỗi ngoại lệ sau đây:
Một ngoại lệ unhandled của loại 'System.Xml.XmlException' đã xảy ra trong System.xml.dll

Thông tin bổ sung: lỗi hệ thống.
Xảy ra lỗi ngoại lệ vào dòng sau Mã:
docNav = new XPathDocument("c:\\books.xml");				
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ệ:
<?xml version='1.0' ?>
Để giải quyết trường hợp ngoại lệ, làm một trong những điều sau đây:
  • Chính xác hướng dẫn chế biến không hợp lệ. Dưới đây là một ví dụ về một chỉ dẫn xử lý hợp lệ:
    <?xml version='1.0'?>
    -OR-
  • Hủy bỏ các chỉ dẫn xử lý XML từ các tập tin Books.xml.
back to the top
THAM KHẢO
Các tập tin sau đây có sẵn để tải về từ Microsoft Download Center:
Để biết thêm chi tiết, hãy truy cập trang Web Microsoft sau đây:Để biết thêm chi tiết về XPath, ghé thăm Web site sau của World Wide Web Consortium (W3C):
XML đường dẫn ngôn ngữ (XPath)
Phiên bản 1.0: W3C khuyến nghị 16 tháng 11 năm 1999
http://www.w3.org/TR/1999/Rec-XPath-19991116
back to the top

Cảnh báo: Bài viết này được dịch tự động

Thuộc tính

ID Bài viết: 308333 - Xem lại Lần cuối: 08/27/2011 17:44:00 - Bản sửa đổi: 2.0

Microsoft Visual C# 2008 Express Edition, Microsoft Visual C# .NET 2002 Standard Edition

  • kbdownload kbhowtomaster kbmt KB308333 KbMtvi
Phản hồi
>