Bài giảng Tích hợp dữ liệu và XML - Chương 3: XML DOM
lượt xem 1
download
Bài giảng Tích hợp dữ liệu và XML - Chương 3: XML DOM. Chương này cung cấp cho sinh viên những nội dung gồm: tổng quan XML DOM; thao tác với các nút; tham chiếu XML DOM;... Mời các bạn cùng tham khảo chi tiết nội dung bài giảng!
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Tích hợp dữ liệu và XML - Chương 3: XML DOM
- 18/02/2013 Nội dung Tổng quan XML DOM XML DOM Thao tác với các nút Tham chiếu XML DOM Nguyễn Hồng Phương Email: phuong.nguyenhong@hust.vn Site: http://is.hut.edu.vn/~phuongnh Bộ môn Hệ thống thông tin Viện Công nghệ thông tin và Truyền thông Đại học Bách Khoa Hà Nội 1 2 1. DOM là gì? Là một chuẩn W3C Tổng quan XML DOM Định nghĩa chuẩn truy cập tài liệu DOM có 3 phần Core DOM: mô hình chuẩn cho các tài liệu có cấu trúc XML DOM: mô hình chuẩn cho các tài liệu XML HTML DOM: mô hình chuẩn cho các tài liệu HTML DOM ñịnh nghĩa các ñối tượng và thuộc tính của tất cả các phần tử tài liệu, và các phương thức truy cập vào chúng. 3 4 XML DOM 2. Các nút DOM Là mô hình ñối tượng chuẩn cho XML Mọi thứ trong một tài liệu XML ñều là Là một giao diện lập trình chuẩn cho nút! Toàn bộ tài liệu là nút tài liệu (document XML node) Độc lập với nền và ngôn ngữ Mỗi phần tử XML là nút phần tử (element Định nghĩa một chuẩn cho truy cập và node) thao tác với tài liệu XML Văn bản trong các phần tử XML là nút văn bản (text node) Mỗi thuộc tính là nút thuộc tính (attribute node) Chú thích cũng là nút chú thích (comment node) 5 6 1
- 18/02/2013 File book.xml File book.xml (tiếp) XQuery Kick Start James McGovern Per Bothner Everyday Italian Kurt Cagle Giada De Laurentiis James Linn 2005 Vaidyanathan Nagarajan 30.00 2003 49.99 Harry Potter J K. Rowling Learning XML 2005 Erik T. Ray 29.99 2003 39.95 7 8 File book.xml (tiếp) 3. Cây nút XML DOM Nút gốc là . Các nút khác trong tài liệu phải nằm trong nút gốc này. Dưới nút gốc có 4 nút . Nút ñầu tiên có các nút con , , , và . Mỗi nút con này chứa các nút text "Everyday Italian", "Giada De Laurentiis", "2005", và "30.00" Chú ý: text của nút phần tử ñược chứa trong nút text. Ví dụ: 2005, nút phần tử có một nút text có giá trị "2005". "2005" không phải giá trị của nút phần tử year. 9 10 Các nút cha, con, anh em XML DOM coi một tài liệu XML là một Các nút trong cây có mối quan hệ phân cấu trúc cây, gọi là cây nút. cấp với các nút khác. Có thể truy cập tới tất cả các nút của Nút ñỉnh gọi là nút gốc cây. Mỗi nút (trừ nút gốc) ñều có 1 nút cha. Có thể thêm mới, sửa, xóa các phần tử. Một nút có thể có không/một/nhiều nút con Nút lá là nút không có nút con. Các nút anh em là các nút có cùng nút cha. 11 12 2
- 18/02/2013 Các nút cha, con, anh em 4. XML DOM Parser Hầu hết các trình duyệt ñã ñược tích hợp sẵn XML Parser ñể ñọc và thao tác với XML Parser biến ñổi XML thành một ñối tượng có thể truy cập JavaScript (XML DOM). XML DOM chứa các hàm ñể duyệt cây XML, truy cập, thêm và xóa các nút. Trước khi thực hiện các thao tác với tài liệu XML, cần nạp nó vào ñối tượng XML DOM 13 14 Nạp một tài liệu XML Nạp một chuỗi XML if(window.XMLHttpRequest){ text=""; xhttp=new XMLHttpRequest(); text=text+"Everyday Italian"; } text=text+"Giada De Laurentiis"; else{ // for IE 5/6 text=text+"2005"; xhttp=new ActiveXObject("Microsoft.XMLHTTP"); text=text+""; } if(window.DOMParser){ xhttp.open("GET","books.xml",false); parser=new DOMParser(); xhttp.send(); xmlDoc=parser.parseFromString(text,"text/xml"); xmlDoc=xhttp.responseXML; }else{ // Internet Explorer document.write("XML document loaded into an XML DOM Object."); xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async=false; xmlDoc.loadXML(text); } document.write("XML string is loaded into an XML DOM Object"); 15 16 5. Các hàm nạp XML DOM Vì lí do an toàn, trang web và file XML Hàm loadXMLDoc() mà nó muốn nạp phải nằm trên cùng Hàm loadXMLString() server. 17 18 3
- 18/02/2013 Hàm loadXMLDoc() Hàm loadXMLString() function loadXMLDoc(dname){ function loadXMLString(txt){ if (window.XMLHttpRequest){ if (window.DOMParser){ xhttp=new XMLHttpRequest(); parser=new DOMParser(); } xmlDoc=parser.parseFromString(txt,"text/xml"); else{ } xhttp=new ActiveXObject("Microsoft.XMLHTTP"); else{ // Internet Explorer } xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); xhttp.open("GET",dname,false); xmlDoc.async=false; xhttp.send(); xmlDoc.loadXML(txt); return xhttp.responseXML; } } return xmlDoc; } File loadxmldoc.js File loadxmldoc1.html File loadxmlstring.js File loadxmlstring1.html 19 20 6. Giao diện lập trình Thuộc tính XML DOM DOM mô hình XML như là một tập các Có một số thuộc tính ñặc trưng ñối tượng nút. x.nodeName: tên của x Có thể viết các ñoạn mã JavaScript, x.nodeValue: giá trị của x Java, C#,.... ñể truy cập vào các nút x.parentNode: nút cha của x này. x.childNodes: các nút con của x Giao diện lập trình: xác ñịnh thông qua x.attributes: các nút thuộc tính của x một tập các thuộc tính và phương thức chuẩn. 21 22 Phương thức XML DOM Ví dụ: x.getElementsByTagName(name): lấy Đoạn mã JavaScript lấy về ñoạn text về tất cả các phần tử mà tag có tên là của phần tử ñầu tiên trong name books.xml: x.appendChild(node): thêm một nút txt = xmlDoc.getElementsByTagName("title")[0]. con vào nút x childNodes[0].nodeValue x.removeChild(node): loại một nút con ra khỏi nút x 23 24 4
- 18/02/2013 7. Truy cập vào các nút Phương thức getElementsByTagName() Có ba cách Trả về tất cả các phần tử có tên thẻ xác sử dụng phương thức ñịnh. getElementsByTagName() Cú pháp: sử dụng vòng lặp ñể duyệt cây nút node.getElementsByTagName("tagname"); ñịnh hướng trong cây, sử dụng mối quan Ví dụ: hệ nút. trả về tất cả các phần tử dưới nút x: x.getElementsByTagName("title"); trả về tất cả các phần tử của tài liệu XML xmlDoc.getElementsByTagName("title"); 25 26 Danh sách nút DOM Chiều dài danh sách nút DOM Phương thức getElementsByTagName() Sử dụng thuộc tính length của danh trả về một danh sách nút – tức là một sách nút: cho biết số nút. mảng các nút. Sử dụng vòng lặp ñể duyệt Ví dụ: Ví dụ: xmlDoc=loadXMLDoc("books.xml"); xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title"); x=xmlDoc.getElementsByTagName("title"); Truy cập vào phần tử thông qua chỉ số. for (i=0;i
- 18/02/2013 Ví dụ: vidu3.html Định hướng quan hệ nút vidu4.html xmlDoc=loadXMLDoc("books.xml"); xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.documentElement.childNodes; x=xmlDoc.getElementsByTagName("book")[0].childNodes; for (i=0;i
- 18/02/2013 Thuộc tính nodeValue Ví dụ: vidu6.html Cho biết giá trị của nút Lấy về giá trị nút text của phần tử ñầu tiên nodeValue của các nút phần tử là không xác ñịnh nodeValue của nút text chính là text nodeValue của nút thuộc tính chính là giá trị thuộc tính xmlDoc=loadXMLDoc("books.xml"); Lấy về giá trị của một phần tử x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; txt=x.nodeValue; document.write(txt); 37 38 Ví dụ: vidu7.html Thuộc tính nodeType Thay ñổi giá trị của phần tử ñầu tiên Cho biết kiểu của nút Read-only Một số kiểu quan trọng: Node type NodeType Element 1 xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; Attribute 2 x.nodeValue="Easy Cooking"; x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; Text 3 txt=x.nodeValue; Comment 8 document.write(txt); Document 9 39 40 Ví dụ: vidu8.html 9. Danh sách các nút XML DOM xmlDoc=loadXMLDoc("books.xml"); document.write(xmlDoc.documentElement.nodeName); document.write(""); document.write(xmlDoc.documentElement.nodeType); 41 42 7
- 18/02/2013 Danh sách nút DOM Khi sử dụng thuộc tính hay phương Danh sách nút trong books.html thức (như childNodes hoặc getElementsByTagName) sẽ nhận ñược xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title"); ñối tượng trả về là một danh sách nút, // Nhận về giá trị text của phần tử // ñầu tiên trong danh sách nút theo trình tự như trong tài liệu XML. txt=x[0].childNodes[0].nodeValue; Nút có thể ñược truy cập với chỉ số bắt ñầu từ 0 43 44 Chiều dài danh sách nút Danh sách thuộc tính DOM Khi một phần tử ñược thêm vào hoặc xóa Thuộc tính attributes của một nút phần tử trả về ñi, danh sách sẽ ñược tự ñộng cập nhật. một danh sách các nút thuộc tính. Nếu một thuộc tính ñược thêm vào hay xóa ñi, Thuộc tính length của một danh sách nút danh sách sẽ dược tự ñộng cập nhật. cho biết số nút có trong danh sách. xmlDoc=loadXMLDoc("books.xml"); xmlDoc=loadXMLDoc("books.xml"); vidu9.html //the x variable will hold a node list x=xmlDoc.getElementsByTagName("book")[0].attributes; x=xmlDoc.getElementsByTagName('title'); document.write(x.getNamedItem("category").nodeValue); for (i=0;i
- 18/02/2013 Duyệt cây nút 11. Các trình duyệt DOM // documentElement always represents the root node x=xmlDoc.documentElement.childNodes; for (i=0;i
- 18/02/2013 Nút cha Tránh các nút text rỗng Tất cả các nút (trừ gốc) ñều có chính Một số trình duyệt (như FireFox) coi kí tự trắng và xuống dòng là nút text. xác một nút cha. Vấn ñề khi sử dụng các thuộc tính: firstChild, xmlDoc=loadXMLDoc("books.xml"); lastChild, nextSibling, previousSibling. Để tránh truy cập vào phần tử text rỗng (kí tự x=xmlDoc.getElementsByTagName("book")[0]; trắng và kí tự xuống dòng giữa các nút phần tử), document.write(x.parentNode.nodeName); sử dụng hàm kiểm tra kiểu nút function get_nextSibling(n){ y=n.nextSibling; while (y.nodeType!=1){ vidu13.html y=y.nextSibling; } return y; } 55 56 Lấy về phần tử con ñầu tiên lastChild() vidu15.html vidu14.html nextSibling() vidu16.html previousSibling() vidu17.html //check if the first node is an element node function get_firstChild(n){ y=n.firstChild; while (y.nodeType!=1) { y=y.nextSibling; } xmlDoc=loadXMLDoc("books.xml"); return y; } x=get_firstChild(xmlDoc.getElementsByT agName("book")[0]); document.write(x.nodeName); 57 58 13. Lấy về các giá trị DOM Lấy về giá trị của một phần tử Thao tác với các nút Lấy về giá trị của một thuộc tính 59 60 10
- 18/02/2013 Lấy về giá trị của một phần tử Các nút phần tử không có giá trị text Text của một nút phần tử ñược lưu trữ trong nút con, gọi là nút text. => ñể lấy về text của nút phần tử, ta lấy giá x=xmlDoc.getElementsByTagName("title")[0]; y=x.childNodes[0]; trị của nút con (nút text). txt=y.nodeValue; Phương thức getElementsByTagName() trả về một danh sách nút chứa tất cả các phần tử với tên thẻ theo tham số của phương thức này. Trật tự các phần tử theo trật tự xuất hiện của chúng ở trong tài liệu vidu18.html Thuộc tính childNodes trả về một danh sách các nút con Thuộc tính nodeValue trả về giá trị text của nút text 61 62 Lấy về giá trị của một thuộc tính Trong DOM, các thuộc tính là các nút. xmlDoc=loadXMLDoc("books.xml"); txt=xmlDoc.getElementsByTagName("title")[0].getAttribute("lang"); Nút này có giá trị text. document.write(txt); vidu19.html Để lấy giá trị text của thuộc tính, sử vidu20.html dụng Phương thức getAttributeNode() trả về phương thức getAttribute() trả về một giá một nút thuộc tính. trị thuộc tính xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].getAttributeNode("lang"); thuộc tính nodeValue txt=x.nodeValue; vidu21.html vidu22.html 63 64 14. Thay ñổi giá trị nút/thuộc tính Thay ñổi giá trị của nút text Thay ñổi giá trị nút: thuộc tính xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; nodeValue x.nodeValue="Easy Cooking"; Thay ñổi giá trị thuộc tính: phương thức vidu23.html setAttribute() 65 66 11
- 18/02/2013 Thay ñổi giá trị của thuộc tính 15. Loại bỏ nút trong DOM xmlDoc=loadXMLDoc("books.xml"); Sử dụng phương thức removeChild() ñể x=xmlDoc.getElementsByTagName('book'); xóa một nút x[0].setAttribute("category","food"); Sử dụng phương thức removeAttribute() vidu24.html ñể xóa một thuộc tính xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book")[0] y=x.getAttributeNode("category"); y.nodeValue="food"; vidu25.html 67 68 Xóa bỏ một nút phần tử Xóa text của nút text vidu29.html xmlDoc=loadXMLDoc("books.xml"); xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; y=xmlDoc.getElementsByTagName("book")[0]; vidu26.html x.nodeValue=""; xmlDoc.documentElement.removeChild(y); Loại bỏ nút thuộc tính sử dụng tên xmlDoc=loadXMLDoc("books.xml"); vidu30.html Xóa bỏ nút hiện tại x=xmlDoc.getElementsByTagName("book"); xmlDoc=loadXMLDoc("books.xml"); vidu27.html x[0].removeAttribute("category"); x=xmlDoc.getElementsByTagName("book")[0]; Loại bỏ các nút thuộc tính sử dụng tham x.parentNode.removeChild(x); số ñối tượng Xóa bỏ nút text xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book"); xmlDoc=loadXMLDoc("books.xml"); vidu31.html for (i=0;i0) { y=x.childNodes[0]; attnode=x[i].attributes[0]; x.removeChild(y); vidu28.html old_att=x[i].removeAttributeNode(attnode); } 69 70 } 16. Thay thế một nút Thay thế một nút phần tử Thay thế một nút phần tử Sử dụng hàm replaceChild() xmlDoc=loadXMLDoc("books.xml"); Thay thế dữ liệu trong mọt nút text x=xmlDoc.documentElement; vidu32.html Sử dụng thuộc tính nodeValue //create a book element, title element and a text node newNode=xmlDoc.createElement("book"); newTitle=xmlDoc.createElement("title"); newText=xmlDoc.createTextNode("A Notebook"); //add the text node to the title node, newTitle.appendChild(newText); //add the title node to the book node newNode.appendChild(newTitle); y=xmlDoc.getElementsByTagName("book")[0] //replace the first book node with the new node x.replaceChild(newNode,y); 71 72 12
- 18/02/2013 Thay thế dữ liệu trong một nút text Sử dụng thuộc tính Sử dụng hàm replaceData(), có 3 tham Có thể sử dụng thuộc tính nodeValue số: ñể thay thế dữ liệu trong nút text offset: vị trí kí tự ñầu tiên sẽ thay thế, bắt ñầu từ 0. xmlDoc=loadXMLDoc("books.xml"); length: số kí tự cần thay thế. x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; string: chuỗi mới cần chèn vào x.nodeValue="Easy Italian"; xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; vidu34.html x.replaceData(0,8,"Easy"); vidu33.html 73 74 17. Tạo nút DOM Tạo một nút phần tử mới Tạo một nút phần tử mới Sử dụng phương thức createElement() Tạo một nút thuộc tính mới xmlDoc=loadXMLDoc("books.xml"); Tạo một thuộc tính sử dụng setAttribute() newel=xmlDoc.createElement("edition"); Tạo một nút text x=xmlDoc.getElementsByTagName("book")[0]; x.appendChild(newel); Tạo một nút CDATA Section Tạo một nút chú thích vidu35.html 75 76 Tạo một nút thuộc tính mới Tạo nút thuộc tính sử dụng setAttribute() Sử dụng phương thức createAttribute() Phương thức setAttribute() tạo nút thuộc tính mới nếu nó chưa tồn tại. xmlDoc=loadXMLDoc("books.xml"); xmlDoc=loadXMLDoc("books.xml"); newatt=xmlDoc.createAttribute("edition"); newatt.nodeValue="first"; x=xmlDoc.getElementsByTagName('book'); x[0].setAttribute("edition","first"); x=xmlDoc.getElementsByTagName("title"); x[0].setAttributeNode(newatt); vidu37.html vidu36.html 77 78 13
- 18/02/2013 Tạo một nút text Tạo nút CDATA Section Sử dụng phương thức createTextNode() Sử dụng phương thức createCDATASection() xmlDoc=loadXMLDoc("books.xml"); xmlDoc=loadXMLDoc("books.xml"); newCDATA=xmlDoc.createCDATASection("Special Offer & Book Sale"); newel=xmlDoc.createElement("edition"); newtext=xmlDoc.createTextNode("first"); x=xmlDoc.getElementsByTagName("book")[0]; newel.appendChild(newtext); x.appendChild(newCDATA); x=xmlDoc.getElementsByTagName("book")[0]; x.appendChild(newel); vidu39.html vidu38.html 79 80 Tạo nút comment 18. Thêm nút Sử dụng phương thức createComment() Thêm một nút - appendChild() Chèn một nút – insertBefore() xmlDoc=loadXMLDoc("books.xml"); Thêm một thuộc tính mới newComment=xmlDoc.createComment("Revised March 2008"); Thêm text vào nút text - insertData() x=xmlDoc.getElementsByTagName("book")[0]; x.appendChild(newComment); vidu40.html 81 82 Thêm một nút - appendChild() Chèn một nút – insertBefore() Dùng phương thức này ñể thêm một Sử dụng phương thức này ñể chèn một nút con vào nút hiện tại. nút trước một nút con xác ñịnh. Phương thức này hữu ích khi quan tâm tới xmlDoc=loadXMLDoc("books.xml"); vị trí của nút thêm vào. newel=xmlDoc.createElement("edition"); x.insertBefore(newNode,null) và x.appendChild(newNode) x=xmlDoc.getElementsByTagName("book")[0]; x.appendChild(newel); xmlDoc=loadXMLDoc("books.xml"); newNode=xmlDoc.createElement("book"); vidu42.html vidu41.html x=xmlDoc.documentElement; y=xmlDoc.getElementsByTagName("book")[3]; x.insertBefore(newNode,y); 83 84 14
- 18/02/2013 Thêm một thuộc tính mới Thêm text vào nút text – insertData() Không có addAttribute()! insertData() thêm dữ liệu vào nút text Sử dụng phương thức setAttribute() ñang có. sẽ tạo mới nếu chưa có thuộc tính Có 2 tham số: sẽ ghi ñè nếu ñã có thuộc tính offset: chỉ số bắt ñầu chèn kí tự (tính từ 0) string: chuỗi cần chèn xmlDoc=loadXMLDoc("books.xml"); xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName('book'); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x[0].setAttribute("edition","first"); x.insertData(0,"Easy "); vidu43.html vidu44.html 85 86 Phương thức cloneNode() 19. Đối tượng XMLHttpRequest Tạo ra một bản sao của một nút xác ñịnh. Đối tượng XMLHttpRequest ñược sử dụng Có 1 tham số nhận giá trị true/false, cho ñể trao ñổi dữ liệu với server Cập nhật một trang web mà không cần tải lại biết nút sao có bao gồm các thuộc tính và trang web các nút con của nút ban ñầu hay không. Yêu cầu dữ liệu từ server sau khi trang ñã xmlDoc=loadXMLDoc("books.xml"); ñược tải. oldNode=xmlDoc.getElementsByTagName('book')[0]; newNode=oldNode.cloneNode(true); Nhận dữ liệu từ server sau khi trang ñã ñược xmlDoc.documentElement.appendChild(newNode); tải. //Output all titles Kết quả: y=xmlDoc.getElementsByTagName("title"); Gửi dữ liệu tới server (in the background) Everyday Italian for (i=0;i
- 18/02/2013 GET hay POST Đồng bộ hay không ñồng bộ? GET ñơn giản và nhanh hơn POST, có Gửi yêu cầu không ñồng bộ, JavaScript thể ñược sử dụng trong hầu hết các không phải ñợi trả lời của server, mà có trường hợp. thể: Sử dụng POST khi: thực hiện các script khác trong khi ñợi trả Cập nhật 1 file hoặc CSDL trên server lời (response) của server. Gửi một lượng lớn dữ liệu tới server (POST thu nhận trả lời khi trả lời sẵn sàng không giới hạn kích thước) Gửi dữ liệu nhập của người dùng (có thể chứa các kĩ tự chưa biết), POST mạnh và an toàn hơn GET. 91 92 Async=true Async=false Khuyến cáo không nên sử dụng. JavaScript sẽ ñợi ñến khi trả lời của server sẵn xmlhttp.onreadystatechange=function() sàng, nếu server bận hoặc chậm thì ứng dụng sẽ { if (xmlhttp.readyState==4 && xmlhttp.status==200) bị dừng hoặc treo. { Chú ý: không viết hàm onreadystatechange document.getElementById("myDiv").innerHTML=xmlhttp.responseText; } } xmlhttp.open("GET","xmlhttp_info.txt",true); xmlhttp.open("GET","xmlhttp_info.txt",false); xmlhttp.send(); xmlhttp.send(); document.getElementById("myDiv").innerHTML=xmlhttp.responseText; vidu47.html vidu48.html 93 94 Server Response Thuộc tính responseText Để nhận ñáp ứng từ server, sử dụng thuộc Nếu ñáp ứng từ server không phải là tính responseText hoặc responseXML của XML thì sử dụng thuộc tính ñối tượng XMLHttpRequest responseText Thuộc tính Mô tả responseText Nhận dữ liệu ñáp ứng như là một xâu document.getElementById("myDiv").innerHTML=xmlhttp.responseText; responseXML Nhận dữ liệu ñáp ứng như là dữ liệu XML vidu49.html 95 96 16
- 18/02/2013 Thuộc tính responseXML Sự kiện onreadystatechange Nếu ñáp ứng từ server là XML, ñể phân tích nó Khi một yêu cầu ñược gửi tới server, chúng ta muốn như là một ñối tượng XML, ta sử dụng thuộc tính thực hiện một số hành ñộng dựa trên ñáp ứng. responseXML. Sự kiện onreadystatechange ñược kích hoạt mỗi khi readyState thay ñổi. xmlDoc=xmlhttp.responseXML; Thuộc tính readyState nắm trạng thái của var txt=""; XMLHttpRequest. x=xmlDoc.getElementsByTagName("ARTIST"); for (i=0;i
- 18/02/2013 EntityRefere Biểu diễn một tham chiếu Element, CDATASectio Biểu diễn CDATASection nce thực thể ProcessingInstruction, n trong tài liệu (text không Comment, Text, bị kiểm tra bởi trình kiểm CDATASection, ngữ) EntityReference Comment Biểu diễn một chú thích Element Biểu diễn một phần tử Element, Text, Comment, ProcessingInstruction, CDATASection, EntityReference Entity Biểu diễn một thực thể Element, Attr Biểu diễn một thuộc tính Text, EntityReference ProcessingInstruction, Comment, Text, CDATASection, EntityReference Text Biểu diễn nỗi dung text trong một phần tử hoặc Notation Biểu diễn một notation ñã một thuộc tính khai báo trong DTD 103 104 2. Giá trị trả về Kiểu nút Tên nút trả về Giá trị nút trả về Kiểu nút Tên nút trả về Giá trị nút trả về Document #document null ProcessingInstruction target content of node DocumentFragment #document fragment null Comment #comment comment text DocumentType doctype name null Text #text content of node EntityReference entity reference name null CDATASection #cdata-section content of node Element element name null Entity entity name null Attr attribute name attribute value Notation notation name null 105 106 3. Kiểu nút – các hằng Kiểu nút Hằng Kiểu nút Hằng 1 ELEMENT_NODE 7 PROCESSING_INSTRUCTION_NODE 2 ATTRIBUTE_NODE 8 COMMENT_NODE 3 TEXT_NODE 9 DOCUMENT_NODE 4 CDATA_SECTION_NODE 10 DOCUMENT_TYPE_NODE 5 ENTITY_REFERENCE_NODE 11 DOCUMENT_FRAGMENT_NODE 6 ENTITY_NODE 12 NOTATION_NODE 107 108 18
- 18/02/2013 Lời hay ý ñẹp "Vì ñời chỉ là một câu chuyện, nên ñiều cần thiết không phải là nó dài hay ngắn, mà là hay hay dở" Seneca 109 110 19
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Hệ quản trị cơ sở dữ liệu Access chương 7: Macro
16 p | 169 | 29
-
Chương 4. Phân tích các dữ liệu định tính
7 p | 213 | 22
-
Bài giảng Cơ sở dữ liệu (Database): Chương 5 - TS. Lê Thị Lan
6 p | 92 | 7
-
Bài giảng Cơ sở dữ liệu – Database EE4253: Chương 3.1 - Ngôn ngữ định nghĩa và thao tác dữ liệu
16 p | 59 | 3
-
Bài giảng Công nghệ lập trình tích hợp: Chương 0 - TS. Nguyễn Quang Uy
9 p | 19 | 3
-
Bài giảng Tích hợp dữ liệu và XML - Chương 11: Ứng dụng quản trị mô hình vào bài toán siêu dữ liệu cổ điển
4 p | 7 | 2
-
Bài giảng Tích hợp dữ liệu và XML - Chương 9: Đối sánh lược đồ
8 p | 8 | 1
-
Bài giảng Tích hợp dữ liệu và XML - Chương 10: Đối sánh chuỗi
5 p | 8 | 1
-
Bài giảng Tích hợp dữ liệu và XML - Chương 12: XSLT
7 p | 8 | 1
-
Bài giảng Tích hợp dữ liệu và XML - Chương 7: XLink và XPointer
5 p | 5 | 1
-
Bài giảng Tích hợp dữ liệu và XML - Chương 6: XQuery
6 p | 6 | 1
-
Bài giảng Tích hợp dữ liệu và XML - Chương 5: XPath
13 p | 8 | 1
-
Bài giảng Tích hợp dữ liệu và XML - Chương 4: XML Schema
20 p | 5 | 1
-
Bài giảng Tích hợp dữ liệu và XML - Chương 8: DTD
7 p | 7 | 1
-
Bài giảng Tích hợp dữ liệu và XML - Chương 2: XML
4 p | 10 | 1
-
Bài giảng Tích hợp dữ liệu và XML - Chương 0: Giới thiệu môn học
2 p | 7 | 1
-
Bài giảng Tích hợp dữ liệu và XML - Chương 1: Tổng quan Tích hợp dữ liệu
5 p | 10 | 1
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn