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

Trình phân tích cú pháp XML


Tất cả các trình duyệt chính đều có trình phân tích cú pháp XML tích hợp sẵn để truy cập và thao tác với XML.


Trình phân tích cú pháp XML

DOM XML (Mô hình Đối tượng Tài liệu) xác định các thuộc tính và phương pháp để truy cập và chỉnh sửa XML.

Tuy nhiên, trước khi một tài liệu XML có thể được truy cập, nó phải được tải vào một đối tượng XML DOM.

Tất cả các trình duyệt hiện đại đều có trình phân tích cú pháp XML tích hợp có thể chuyển đổi văn bản thành một đối tượng DOM XML.


Phân tích cú pháp một chuỗi văn bản

Ví dụ này phân tích cú pháp một chuỗi văn bản thành một đối tượng DOM XML và trích xuất thông tin từ nó bằng JavaScript:

Thí dụ

<html>
<body>

<p id="demo"></p>

<script>
var text, parser, xmlDoc;

text = "<bookstore><book>" +
"<title>Everyday Italian</title>" +
"<author>Giada De Laurentiis</author>" +
"<year>2005</year>" +
"</book></bookstore>";

parser = new DOMParser();
xmlDoc = parser.parseFromString(text,"text/xml");

document.getElementById("demo").innerHTML =
xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue;
</script>

</body>
</html>


Giải thích ví dụ

Một chuỗi văn bản được xác định:

text = "<bookstore><book>" +
"<title>Everyday Italian</title>" +
"<author>Giada De Laurentiis</author>" +
"<year>2005</year>" +
"</book></bookstore>";

Một trình phân tích cú pháp DOM XML được tạo:

parser = new DOMParser();

Trình phân tích cú pháp tạo một đối tượng DOM XML mới bằng cách sử dụng chuỗi văn bản:

xmlDoc = parser.parseFromString(text,"text/xml");

Phiên bản cũ của Internet Explorer

Phiên bản cũ của Internet Explorer (IE5, IE6, IE7, IE8) không hỗ trợ đối tượng DOMParser.

Để xử lý các phiên bản cũ hơn của Internet Explorer, hãy kiểm tra xem trình duyệt có hỗ trợ đối tượng DOMParser hay không, nếu không hãy tạo một ActiveXObject:

Thí dụ

if (window.DOMParser) {
  // code for modern browsers
  parser = new DOMParser();
  xmlDoc = parser.parseFromString(text,"text/xml");
} else {
  // code for old IE browsers
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
  xmlDoc.async = false;
  xmlDoc.loadXML(text);

Đối tượng XMLHttpRequest

Đối tượng XMLHttpRequest được tích hợp sẵn Trình phân tích cú pháp XML.

Thuộc tính responseText trả về phản hồi dưới dạng một chuỗi.

Thuộc tính responseXML trả về phản hồi dưới dạng đối tượng DOM XML.

Nếu bạn muốn sử dụng phản hồi như một đối tượng DOM XML, bạn có thể sử dụng thuộc tính responseXML.

Thí dụ

Yêu cầu tệp cd_catalog.xml và sử dụng phản hồi làm đối tượng DOM XML:

xmlDoc = xmlhttp.responseXML;
txt = "";
x = xmlDoc.getElementsByTagName("ARTIST");
for (i = 0; i < x.length; i++) {
    txt += x[i].childNodes[0].nodeValue + "<br>";
}
document.getElementById("demo").innerHTML = txt;