XML DOM - egenskaper och metoder
- Föregående sida DOM ladda
- Nästa sida DOM tillgång till noder
Egenskaper och metoder definierar programmeringssnittet för XML DOM.
Exempel
Följande exempel använder XML-fil books.xml.
Funktion loadXMLDoc()Ligger utanför JavaScript, används för att ladda XML-fil.
Funktion loadXMLString()Ligger utanför JavaScript, används för att ladda XML-sträng.
Programmeringssnitt
DOM simulerar XML som en serie nodgränssnitt. Noder kan nås med JavaScript eller andra programmeringsspråk. I denna handledning använder vi JavaScript.
Programmeringssnittet för DOM definieras genom en uppsättning standardegenskaper och metoder.
EgenskaperOfta används på sättet "vad är något" (t.ex. nodnamn är "book").
MetoderAnvänds ofta på sättet "gör något med något" (t.ex. ta bort "book"-noden).
XML DOM-egenskaper
Några typiska DOM-egenskaper:
- x.nodeName - Namnet till x
- x.nodeValue - Värdet till x
- x.parentNode - Föräldern till x
- x.childNodes - Undernoderna till x
- x.attributes - Egenskaperna till x
Kommentar:I den ovanstående listan är x en nodobjekt.
XML DOM-metoder
- x.getElementsByTagName(name) - Hämta alla element med angiven etikett
- x.appendChild(node) - Lägg till undernoden till x
- x.removeChild(node) - Ta bort undernoden från x
Kommentar:I den ovanstående listan är x en nodobjekt.
Exempel
JavaScript-kod för att hämta text från <title>-elementet i books.xml:
txt=xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue
Efter att denna sats har körts är värdet som sparas i txt "Harry Potter".
Förklaring:
- xmlDoc - XML DOM skapad av parsern
- getElementsByTagName("title")[0] - Den första <title>-elementet
- childNodes[0] - Den första undernoden till <title>-elementet
- nodeValue - Nodens värde (texten själv)
I det ovanstående exemplet är getElementsByTagName en metod, medan childNodes och nodeValue är egenskaper.
XML-filens解析 - Korsbrowservänlig exempel
Följande kodsnutt använder funktionen loadXMLDoc för att... books.xml Ladda XML-parser och visa data för den första booken:
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);
Utskrift:
Harry Potter J K. Rowling 2005
I det ovanstående exemplet använder vi childNodes[0] för varje textnod, även om varje element bara har en textnod. Detta beror på att metoden getElementsByTagName() alltid returnerar en array.
XML-strängs解析 - Korsbrowservänlig exempel
Följande kod laddar och解析erar en XML-sträng:
Följande kodsnutt använder funktionen loadXMLString för att... books.xml Ladda XML-parser och visa data för den första book:n:
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);
Utskrift:
Harry Potter J K. Rowling 2005
- Föregående sida DOM ladda
- Nästa sida DOM tillgång till noder