Πρότυπα και Μέθοδοι του XML DOM
- Προηγούμενη σελίδα Φόρτωση DOM
- Επόμενη σελίδα Αναγνώριση κόμβων DOM
属性和方法向 XML DOM 定义了编程接口。
Παράδειγμα
下面的例子使用 XML 文件 books.xml。
函数 loadXMLDoc(),位于外部 JavaScript 中,用于加载 XML 文件。
函数 loadXMLString(),位于外部 JavaScript 中,用于加载 XML 字符串。
编程接口
DOM 将 XML 模拟为一系列节点接口。可以通过 JavaScript 或其他编程语言来访问节点。在本教程中,我们使用 JavaScript。
对 DOM 的编程接口是通过一套标准的属性和方法来定义的。
属性经常按照“某事物是什么”的方式来使用(例如节点名是 "book")。
ΜέθοδοιΧρησιμοποιούνται συχνά με τη μορφή "κατά چه τρόπον κάνουμε κάτι" (π.χ. διαγράφουμε το στοιχείο "book").
Ιδιότητες XML DOM
Μερικές από τις τυπικές ιδιότητες DOM:
- x.nodeName - Το όνομα του x
- x.nodeValue - Η τιμή του x
- x.parentNode - Ο γονέας του x
- x.childNodes - Οι υποκόμβοι του x
- x.attributes - Οι ιδιότητες του x
Σημειώσεις:Στην παραπάνω λίστα, το x είναι ένα αντικείμενο κόμβου.
Μέθοδοι XML DOM
- x.getElementsByTagName(name) - Απόκτηση όλων των στοιχείων με το καθορισμένο όνομα ετικέτας
- x.appendChild(node) - Εισαγωγή του υποκόμβου στο x
- x.removeChild(node) - Αφαίρεση του υποκόμβου από το x
Σημειώσεις:Στην παραπάνω λίστα, το x είναι ένα αντικείμενο κόμβου.
Παράδειγμα
JavaScript κώδικας για την απόκτηση κειμένου από το στοιχείο <title> του books.xml:
txt=xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue
Μετά την εκτέλεση αυτής της φράσης, η τιμή που αποθηκεύεται στο txt είναι "Harry Potter".
Επεξηγήσεις:
- xmlDoc - Ο XML DOM που δημιουργείται από τον αναλυτή
- getElementsByTagName("title")[0] - Ο πρώτος στοιχείο <title>
- childNodes[0] - Ο πρώτος υποκόμβος του στοιχείου <title>
- nodeValue - Η τιμή του κόμβου (το κείμενο του ιδίου)
Στο παραπάνω παράδειγμα, getElementsByTagName είναι η μέθοδος, ενώ childNodes και nodeValue είναι οι ιδιότητες.
Ανάλυση αρχείου XML - Παράδειγμα διαπερατότητας浏览器
Η παρακάτω κλάσμα κώδικα χρησιμοποιεί τη συνάρτηση loadXMLDoc books.xml Φόρτωση στο αναλυτή XML και εμφάνιση των δεδομένων του πρώτου book:
xmlDoc=loadXMLDoc("books.xml"); document.write(xmlDoc.getElementsByTagName("title")) [0].childNodes[0].nodeValue); document.write("<br />"); document.write(xmlDoc.getElementsByTagName("author")) [0].childNodes[0].nodeValue); document.write("<br />"); document.write(xmlDoc.getElementsByTagName("year")) [0].childNodes[0].nodeValue);
Έξοδος:
Harry Potter J K. Rowling 2005
Στο παραπάνω παράδειγμα, χρησιμοποιούμε childNodes[0] για κάθε κείμενο κόμβο, ακόμα και αν κάθε στοιχείο έχει μόνο έναν κείμενο κόμβο. Αυτό οφείλεται στο γεγονός ότι η μέθοδος getElementsByTagName() �ways επιστρέφει μια λίστα.
Ανάλυση αλφαριθμητικής αλυσίδας XML - Παράδειγμα διαπερατότητας浏览器
Η παρακάτω κλάσμα κώδικα φορτώνει και αναλύει μια αλφαριθμητική αλυσίδα XML:
Η παρακάτω κλάσμα κώδικα χρησιμοποιεί τη συνάρτηση loadXMLString books.xml Φόρτωση αναλυτή XML και εμφάνιση δεδομένων του πρώτου book:
text="<bookstore>" text=text+"<book>"; text=text+"<title>Harry Potter</title>"; text=text+"<author>J K. Rowling</author>"; text=text+"<year>2005</year>"; text=text+"</book>"; text=text+"</bookstore>"; xmlDoc=loadXMLString(text); document.write(xmlDoc.getElementsByTagName("title")) [0].childNodes[0].nodeValue); document.write("<br />"); document.write(xmlDoc.getElementsByTagName("author")) [0].childNodes[0].nodeValue); document.write("<br />"); document.write(xmlDoc.getElementsByTagName("year")) [0].childNodes[0].nodeValue);
Έξοδος:
Harry Potter J K. Rowling 2005
- Προηγούμενη σελίδα Φόρτωση DOM
- Επόμενη σελίδα Αναγνώριση κόμβων DOM