Hướng dẫn XML

TRANG CHỦ XML Giới thiệu XML Cách sử dụng XML Cây XML Cú pháp XML Phần tử XML Thuộc tính XML Không gian tên XML Hiển thị XML HttpRequest XML Trình phân tích cú pháp XML DOM XML XPath XML XSLT XML XQuery XML XML XLink Trình xác thực XML DTD XML Lược đồ XML Máy chủ XML Ví dụ về XML Câu đố XML Chứng chỉ XML

XML AJAX

Giới thiệu AJAX AJAX XMLHttp Yêu cầu AJAX Phản hồi AJAX Tệp XML AJAX AJAX PHP AJAX ASP Cơ sở dữ liệu AJAX Ứng dụng AJAX Ví dụ về AJAX

DOM XML

Giới thiệu DOM Nút DOM Truy cập DOM Thông tin nút DOM Danh sách nút DOM DOM Traversing Điều hướng DOM DOM Nhận giá trị Nút thay đổi DOM DOM Xóa các nút Nút thay thế DOM DOM Tạo nút DOM Thêm nút Nút nhân bản DOM Ví dụ về DOM

Hướng dẫn XPath

Giới thiệu XPath Nút XPath Cú pháp XPath Trục XPath Toán tử XPath Ví dụ về XPath

Hướng dẫn XSLT

Giới thiệu XSLT Ngôn ngữ XSL Chuyển đổi XSLT XSLT <template> XSLT <value-of> XSLT <for-each> XSLT <sắp xếp> XSLT <if> XSLT <chọn> Áp dụng XSLT XSLT trên máy khách XSLT trên Máy chủ XSLT Chỉnh sửa XML Ví dụ về XSLT

Hướng dẫn XQuery

Giới thiệu XQuery Ví dụ về XQuery XQuery FLWOR HTML XQuery Điều khoản XQuery Cú pháp XQuery XQuery Thêm Chọn XQuery Hàm XQuery

DTD XML

Giới thiệu DTD Khối xây dựng DTD Phần tử DTD Các thuộc tính DTD Phần tử DTD so với Attr Thực thể DTD Ví dụ về DTD

Lược đồ XSD

Giới thiệu XSD XSD Cách thực hiện XSD <schema> Phần tử XSD Thuộc tính XSD Hạn chế XSD

XSD Complex

Phần tử XSD XSD trống Chỉ các phần tử XSD Chỉ văn bản XSD XSD hỗn hợp Chỉ báo XSD XSD <nhiều> XSD <anyAttribute> Thay thế XSD Ví dụ về XSD

Dữ liệu XSD

Chuỗi XSD Ngày XSD XSD Numeric XSD Misc Tham chiếu XSD

Dịch vụ web

Dịch vụ XML WSDL XML SOAP XML RDF XML RSS XML

Người giới thiệu

Các loại nút DOM Nút DOM DOM NodeList DOM NamedNodeMap Tài liệu DOM Phần tử DOM Thuộc tính DOM Văn bản DOM DOM CDATA Bình luận DOM DOM XMLHttpRequest Trình phân tích cú pháp DOM Phần tử XSLT Hàm XSLT / XPath

Nút DOM XML


Theo DOM XML, mọi thứ trong tài liệu XML là một nút :

  • Toàn bộ tài liệu là một nút tài liệu
  • Mỗi phần tử XML là một nút phần tử
  • Văn bản trong các phần tử XML là các nút văn bản
  • Mỗi thuộc tính là một nút thuộc tính
  • Nhận xét là nút nhận xét

Ví dụ về DOM

Xem tệp XML sau ( books.xml ):

×

Tiêu đề

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
  <book category="cooking">
    <title lang="en">Everyday Italian</title>
    <author>Giada De Laurentiis</author>
    <year>2005</year>
    <price>30.00</price>
  </book>
  <book category="children">
    <title lang="en">Harry Potter</title>
    <author>J K. Rowling</author>
    <year>2005</year>
    <price>29.99</price>
  </book>
  <book category="web">
    <title lang="en">XQuery Kick Start</title>
    <author>James McGovern</author>
    <author>Per Bothner</author>
    <author>Kurt Cagle</author>
    <author>James Linn</author>
    <author>Vaidyanathan Nagarajan</author>
    <year>2003</year>
    <price>49.99</price>
  </book>
  <book category="web" cover="paperback">
    <title lang="en">Learning XML</title>
    <author>Erik T. Ray</author>
    <year>2003</year>
    <price>39.95</price>
  </book>
</bookstore>

Nút gốc trong XML ở trên được đặt tên là <bookstore>.

Tất cả các nút khác trong tài liệu được chứa trong <bookstore>.

Nút gốc <bookstore> chứa 4 nút <book>.

Nút <book> đầu tiên chứa các nút con: <title>, <author>, <year> và <price>.

Mỗi nút con chứa một nút văn bản, "Everyday Italian", "Giada De Laurentiis", "2005" và "30.00".



Văn bản luôn được lưu trữ trong các mã văn bản

Một lỗi phổ biến trong xử lý DOM là mong đợi một nút phần tử chứa văn bản.

Tuy nhiên, văn bản của một nút phần tử được lưu trữ trong một nút văn bản.

Trong ví dụ này: <year> 2005 </year> , nút phần tử <year> giữ một nút văn bản có giá trị "2005".

"2005" không phải là giá trị của phần tử <year>!


Cây nút DOM XML

DOM XML xem một tài liệu XML như một cấu trúc cây. Cấu trúc cây được gọi là cây nút.

Tất cả các nút có thể được truy cập thông qua cây. Nội dung của chúng có thể được sửa đổi hoặc xóa, và các phần tử mới có thể được tạo ra.

Cây nút hiển thị tập hợp các nút và các kết nối giữa chúng. Cây bắt đầu ở nút gốc và phân nhánh ra các nút văn bản ở cấp thấp nhất của cây:

Cây nút DOM

Hình ảnh trên đại diện cho tệp XML books.xml .


Node Cha mẹ, Con cái và Anh chị em

Các nút trong cây nút có mối quan hệ thứ bậc với nhau.

Các thuật ngữ cha mẹ, con cái và anh chị em ruột được sử dụng để mô tả các mối quan hệ. Các nút cha có con. Trẻ em cùng cấp được gọi là anh chị em (anh hoặc chị em).

  • Trong cây nút, nút trên cùng được gọi là gốc
  • Mọi nút, ngoại trừ gốc, có chính xác một nút cha
  • Một nút có thể có bất kỳ số lượng nút con nào
  • Một lá là một nút không có con
  • Anh chị em là các nút có cùng cha mẹ

Hình ảnh sau minh họa một phần của cây nút và mối quan hệ giữa các nút:

Cây nút

Bởi vì dữ liệu XML được cấu trúc ở dạng cây, nó có thể được duyệt qua mà không cần biết cấu trúc chính xác của cây và không cần biết kiểu dữ liệu chứa bên trong.

Bạn sẽ tìm hiểu thêm về cách duyệt qua cây nút trong chương sau của hướng dẫn này.


Đứa con đầu lòng - Đứa con cuối cùng

Nhìn vào đoạn XML sau:

<bookstore>
  <book category="cooking">
    <title lang="en">Everyday Italian</title>
    <author>Giada De Laurentiis</author>
    <year>2005</year>
    <price>30.00</price>
  </book>
</bookstore>

Trong XML ở trên, phần tử <title> là phần tử con đầu tiên của phần tử <book> và phần tử <price> là phần tử con cuối cùng của phần tử <book>.

Hơn nữa, phần tử <book> là nút cha của các phần tử <title>, <author>, <year> và <price>.