XML DOM Nodes
- Previous Page DOM Overview
- Next Page DOM Access Node
Ifølge XML DOM, er alt indhold i XML-dokumentetNode:
- Hele dokumentet er en dokumentnode
- Hvert XML element er en elementnode
- Tekst i XML elementer er tekst noder
- Hver egenskab er en egenskabsnode
- Kommentarer er kommentar noder
DOM Eksempel
Se følgende XML-fil (books.xml):
<?xml version="1.0" encoding="UTF-8"?> <bookstore> <book category="美食"> <title lang="zh">雅舍谈吃</title> <author>梁实秋</author> <press>江苏文艺出版社</press> <year>2013</year> <price>35</price> <ISBN>9787539962771</ISBN> </book> <book category="children"> <title lang="zh">了不起的狐狸爸爸</title> <author>罗尔德·达尔</author> <translator>代维</translator> <press>明天出版社</press> <year>2009</year> <price>10</price> <ISBN>9787533259563</ISBN> </book> <book category="文学"> <title lang="zh">将熟悉变为陌生</title> <author>齐格蒙·鲍曼</author> <author>彼得·哈夫纳</author> <translator>王立秋</translator> <press>南京大学出版社</press> <year>2023</year> <price>68</price> <ISBN>9787305269387</ISBN> </book> <book category="科学"> <title lang="zh">你想飞吗,像鸟一样?</title> <author>理查德·道金斯</author> <author>亚娜·伦佐娃</author> <translator>高天羽</translator> <press>湖南科学技术出版社</press> <year>2023</year> <price>88</price> <ISBN>9787571019075</ISBN> </book> <book category="政治" cover="平装"> <title lang="zh">论美国的民主</title> <author>托克维尔</author> <translator>董果良</translator> <press> 商务印书馆 </press> <year>1989</year> <price>60</price> <ISBN>9787100124553</ISBN> </book> </bookstore>
I det ovennævnte XML er rodknudepunktet <bookstore>.
Alle andre knudepunkter i dokumentet er inkluderet i <bookstore>.
Rodknudepunktet <bookstore> har 5 <book>-knudepunkter.
Den første <book>-knudepunkt indeholder 6 underknudepunkter: <title>, <author>, <press>, <year>, <price> og <ISBN>.
Hver undernode indeholder en tekstnode:
- "雅舍谈吃"
- "梁实秋"
- "江苏文艺出版社"
- "2012"
- "48.00"
- "9787100011105"
Tekst gemmes altid i tekstnoden
En almindelig fejl i DOM-behandling er at tro, at elementnoden indeholder tekst.
Imidlertid gemmes teksten i elementnoden i tekstnoden.
I dette eksempel:<year>2013</year>
, elementnoden <year> indeholder teksten "2012".
"2012" Ikke <year>-elementets værdi!
XML DOM-nodetræ
XML DOM ser XML-dokumentet som en træstruktur. Denne træstruktur kaldesNodetræ.
Man kan tilgå alle noder i dette træ. Man kan ændre eller slette deres indhold, eller oprette nye elementer.
Dette nodetræ viser en samling af noder samt deres forbindelser. Træet starter fra rodnoden og vokser ud til tekstnoder på den laveste niveau:

Det foregående billede repræsenterer en XML-fil books.xml.
Forældre-, barn- og søskendernoder
Noder i nodetræet har en hierarkisk relation til hinanden.
Termerne 'forældre', 'barn' og 'søskende' bruges til at beskrive denne relation. Forældrenode har barn. Barn, der befinder sig på samme niveau, kaldes jævnbyrdige noder eller søskendernoder (brødre eller søstre).
- I nodetræet kaldes den øverste node rod
- Med undtagelse af rodnoden har hver node kun én forældernode
- En node kan have et hvilket som helst antal undernoder
- En bladnode er en node uden undernoder
- Søskendernoder er noder, der har samme forældernode
Billedet nedenfor viser et stykke af nodetræet samt relationerne mellem noderne:

Fordi XML-data er konstrueret som et træ, kan det traverseres uden at kende træets præcise struktur eller de dataTyper, det indeholder.
Du vil lære mere om at traversere nodetræet i senere kapitler af denne vejledning.
Kommentarer:Forældrenode: Parent Node,undernoden: Children Node,sammenlignelige noder: Sibling Node。
Den første undernoden - den sidste undernoden
Se nedenstående XML-fragment:
<bookstore> <book category="美食"> <title lang="zh">雅舍谈吃</title> <author>梁实秋</author> <press>江苏文艺出版社</press> <year>2013</year> <price>35</price> <ISBN>9787100011105</ISBN> </book> </bookstore>
In the above XML, the <title> element is the first child of the <book> element, and the <ISBN> element is the last child of the <book> element.
In the above XML, the <title> element is the first child of the <book> element, and the <ISBN> element is the last child of the <book> element.
- Previous Page DOM Overview
- Next Page DOM Access Node