XML DOM - mga Katangian at Mga Paraan

Ang atribute at mga paraan ay nagtutukoy ng programing interface sa XML DOM.

Halimbawa

Ang mga halimbawa sa ibaba ay gumagamit ng XML file books.xml.

Function loadXMLDoc()Nasa labas na JavaScript, gamit sa pag-load ng XML file.

Function loadXMLString()Nasa labas na JavaScript, gamit sa pag-load ng XML string.

I-load at i-parse ang XML file
I-load at i-parse ang XML string

Programing Interface

Ang DOM ay isang simulasyon ng isang serye ng node interface ng XML. Maaaring ma-access ang mga node gamit ang JavaScript o ibang programing language. Sa tutorial na ito, gagamitin namin ang JavaScript.

Ang programing interface ng DOM ay tinukoy sa pamamagitan ng iset ng mga estandar na atribute at mga paraan.

AtributeKadalasang ginagamit ang paraan ng 'anong bagay ito ay', halimbawa, ang pangalan ng node ay "book".

Mga methodKadalasang ginagamit ang paraan na "Gawin ang isang bagay sa isang bagay" (halimbawa, tanggalin ang "book" elemento).

Mga XML DOM attribute

Ilang tipikal na DOM attribute:

  • x.nodeName - Ang pangalan ng x
  • x.nodeValue - Ang halaga ng x
  • x.parentNode - Ang magulang ng x
  • x.childNodes - Ang mga anak ng x
  • x.attributes - Ang mga attribute ng x

Komento:Sa pagkakaroon ng halimbawa, ang x ay isang node object.

Mga XML DOM method

  • x.getElementsByTagName(name) - Hanapin ang lahat ng elemento na may tinukoy na pangalan ng tag
  • x.appendChild(node) - Magdagdag ng anak na node sa x
  • x.removeChild(node) -Tanggalin ang anak na node mula sa x

Komento:Sa pagkakaroon ng halimbawa, ang x ay isang node object.

Halimbawa

Ang JavaScript code para sa pagkuha ng teksto mula sa <title> elemento ng books.xml:

txt=xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue

Pagkatapos ng pagpapatupad ng statement, ang txt ay nag-iiba sa "Harry Potter".

Paliwanag:

  • xmlDoc - XML DOM na nilikha ng parser
  • getElementsByTagName("title")[0] - Unang <title> elemento
  • childNodes[0] - Unang anak ng <title> elemento (text node)
  • nodeValue - Halaga ng node (ang teksto mismo)

Sa pagkakaroon ng halimbawa, ang getElementsByTagName ay isang method, at ang childNodes at nodeValue ay mga attribute.

Pagsusuri ng XML file - Maraming-broswer na halimbawa

Ang nakasulat na bahagi ng code ay gumagamit ng loadXMLDoc function upang books.xml Iład ang XML parser at ipakita ang datos ng unang 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);

Output:

Harry Potter
J K. Rowling
2005

TIY

Sa pagkakaroon ng halimbawa, gumagamit kami ng childNodes[0] para sa bawat text node, kahit ang bawat elemento ay may isang text node lamang. Ito ay dahil ang getElementsByTagName() method ay palaging sumusumbat ng isang array.

Pagsusuri ng XML string - Maraming-broswer na halimbawa

Ang nakasulat na code ay naglulad at nagpapatunay ng isang XML string:

Ang nakasulat na bahagi ng code ay gumagamit ng loadXMLString function upang books.xml I-load ang XML Parser at ipakita ang data ng unang 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);

Output:

Harry Potter
J K. Rowling
2005

TIY