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 để truy cập và thao tác XML.
Trình phân tích cú pháp XML
XML DOM (Mô hình đối tượng tài liệu) xác định các thuộc tính và phương thức để truy cập và chỉnh sửa XML.
Tuy nhiên, trước khi có thể truy cập được một tài liệu XML, 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 đối tượng XML DOM.
Phân tích một chuỗi văn bản
Ví dụ này phân tích một chuỗi văn bản thành một đối tượng XML DOM và trích xuất thông tin từ nó bằng JavaScript:
Ví 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>
Hãy tự mình thử » Ví dụ giải thích
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 XML DOM được tạo:
parser = new DOMParser();
Trình phân tích cú pháp tạo một đối tượng XML DOM mới bằng chuỗi văn bản:
xmlDoc = parser.parseFromString(text,"text/xml");
Đối tượng XMLHttpRequest
Đối tượng XMLHttpRequest có Trình phân tích cú pháp XML được tích hợp sẵn.
Thuộc tính replyText trả về phản hồi dưới dạng chuỗi.
Thuộc tính replyXML trả về phản hồi dưới dạng đối tượng XML DOM.
Nếu bạn muốn sử dụng phản hồi làm đối tượng XML DOM, bạn có thể sử dụng thuộc tính phản hồiXML.
Ví dụ
Yêu cầu tệp cd_catalog.xml và sử dụng phản hồi dưới dạng đối tượng XML DOM:
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;
Hãy tự mình thử »