XML DOM Node Lys
'n Lys nodusse word deur die getElementsByTagName()-metode en die childNodes-eienskap teruggestuur.
Probeer dit self - voorbeelde
Die voorbeelde hieronder gebruik die XML-lêer books.xml .
Hierdie voorbeeld gebruik die getElementsByTagName() metode om die teks van die eerste <title> element in "books.xml" te kry.
Hierdie voorbeeld gebruik node-lys en die length-eienskap om deur alle <title>-elemente in "books.xml" te loop
Hierdie voorbeeld gebruik 'n kenmerklys om kenmerk van die eerste <book>-element in "books.xml" te kry.
DOM Node Lys
Wanneer eienskappe of metodes soos childNodes of getElementsByTagName() gebruik word, word 'n noduslysvoorwerp teruggestuur.
'n Noduslysobjek verteenwoordig 'n lys nodusse, in dieselfde volgorde as in die XML.
Nodusse in die noduslys word verkry met indeksnommers wat vanaf 0 begin.
Die volgende prent verteenwoordig 'n noduslys van die <title>-elemente in " books.xml ":
Gestel "books.xml" word in die veranderlike xmlDoc gelaai.
Hierdie kodefragment gee 'n noduslys van titelelemente in "books.xml" terug:
x = xmlDoc.getElementsByTagName("title");
Na die uitvoering van die stelling hierbo, is x 'n noduslysvoorwerp.
Die volgende kodefragment gee die teks terug vanaf die eerste <title>-element in die noduslys (x):
Voorbeeld
var txt = x[0].childNodes[0].nodeValue;
Na die uitvoering van die stelling hierbo, txt = "Everyday Italian".
Node Lys Lengte
'n Noduslysvoorwerp hou homself op datum. As 'n element uitgevee of bygevoeg word, word die lys outomaties opgedateer.
Die lengte-eienskap van 'n noduslys is die aantal nodusse in die lys.
Hierdie kodefragment gee die aantal <title>-elemente in "books.xml" terug:
x = xmlDoc.getElementsByTagName('title').length;
Na die uitvoering van die stelling hierbo, sal die waarde van x 4 wees.
Die lengte van die noduslys kan gebruik word om deur al die elemente in die lys te loop.
Hierdie kodefragment gebruik die length-eienskap om deur die lys <title>-elemente te loop:
Voorbeeld
x = xmlDoc.getElementsByTagName('title');
xLen = x.length;
for (i = 0; i <xLen; i++) {
txt += x[i].childNodes[0].nodeValue) + " ";
}
Uitset:
Everyday Italian
Harry Potter
XQuery Kick Start
Learning XML
Voorbeeld verduidelik:
- Gestel " books.xml " is in xmlDoc gelaai
- Stel die x-veranderlike om 'n noduslys van alle titelelemente te hou
- Versamel die teks node waardes van <title> elemente
DOM-kenmerklys (benoemde noduskaart)
Die eienskappe eienskap van 'n element nodus gee 'n lys van kenmerk nodusse terug.
Dit word 'n benoemde noduskaart genoem, en is soortgelyk aan 'n noduslys, behalwe vir 'n paar verskille in metodes en eienskappe.
'n Eienskaplys hou homself op datum. As 'n kenmerk uitgevee of bygevoeg word, word die lys outomaties opgedateer.
Hierdie kodefragment gee 'n lys van kenmerknodusse van die eerste <boek>-element in "books.xml" terug:
x = xmlDoc.getElementsByTagName('book')[0].attributes;
Na die uitvoering van die kode hierbo, is x.length = die aantal eienskappe en kan x.getNamedItem() gebruik word om 'n kenmerknodus terug te gee.
Hierdie kodefragment kry die waarde van die "kategorie"-kenmerk, en die aantal kenmerke, van 'n boek:
Voorbeeld
x = xmlDoc.getElementsByTagName("book")[0].attributes;
txt = x.getNamedItem("category").nodeValue + " " + x.length;
Uitset:
cooking
1
Voorbeeld verduidelik:
- Gestel " books.xml " is in xmlDoc gelaai
- Stel die x-veranderlike om 'n lys van alle eienskappe van die eerste <boek>-element te hou
- Kry die waarde van die "kategorie"-kenmerk en die lengte van die kenmerklys