XML DOM noder
- Previous Page DOM Introduction
- Next Page DOM Access Node
Enligt XML DOM är all innehåll i XML-dokumentetNod:
- Hela dokumentet är en dokumentnod
- Varje XML-element är en elementnod
- Text i XML-element är textnod
- Varje egenskap är en egenskapsnod
- Kommentarer är kommentarsteg
DOM-exempel
Se följande 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's book"> <title lang="zh">Den fantastiske fox fadern</title> <author>Rolf Dahl</author> <translator>Da Wei</translator> <press>Tomorrow Publishing House</press> <year>2009</year> <price>10</price> <ISBN>9787533259563</ISBN> </book> <book category="literature"> <title lang="zh">Att göra det bekanta obekant</title> <author>Zygmunt Bauman</author> <author>Peter Hauvner</author> <translator>Wang Liqiu</translator> <press>Nanjing University Press</press> <year>2023</year> <price>68</price> <ISBN>9787305269387</ISBN> </book> <book category="science"> <title lang="zh">Vill du flyga, som en fågel?</title> <author>Richard Dawkins</author> <author>Yana Renzova</author> <translator>GAO Tianyu</translator> <press>Hunan Science and Technology Press</press> <year>2023</year> <price>88</price> <ISBN>9787571019075</ISBN> </book> <book category="politics" cover="pocket"> <title lang="zh">On the Democracy of the United States</title> <author>Tocqueville</author> <translator>Dong Guoliang</translator> <press>Shangwu Yinshe</press> <year>1989</year> <price>60</price> <ISBN>9787100124553</ISBN> </book> </bookstore>
I den ovanstående XML:n är rotnoden <bookstore>.
Alla andra noder i dokumentet inkluderas i <bookstore>.
Rötter <bookstore> har 5 <book>-noder.
Den första <book>-noden innehåller 6 undernoder: <title>, <author>, <press>, <year>, <price> och <ISBN>.
Varje undernod innehåller en textnod:
- "雅舍谈吃"
- "梁实秋"
- "江苏文艺出版社"
- "2012"
- "48.00"
- "9787100011105"
Text lagras alltid i textnoden
En vanlig fel i DOM-behandling är att tro att elementnoden innehåller text.
Emellertid lagras texten för elementnoden i textnoden.
I detta exempel:<year>2013</year>
,elementnoden <year> innehåller textnoden med värdet "2012".
"2012" Inte Värdet för <year>-elementet!
XML DOM nodträd
XML DOM ser XML-dokument som en trädstruktur. Denna trädstruktur kallasNodträd.
Alla noder kan nås via detta träd. Det är möjligt att ändra eller ta bort deras innehåll, eller skapa nya element.
Detta nodträd visar en samling noder och deras förbindelser. Trädet börjar vid rotnoden och växer ut mot textnoderna på lägsta nivån i trädet:

Översta bilden representerar en XML-fil books.xml.
Förälder, barn och syskon
Noder i nodträdet har en hierarkisk relation till varandra.
Terminerna "förälder", "barn" och "syskon" används för att beskriva denna relation. Föräldernod har barn. Barn på samma nivå kallas jämställande noder eller syskon (bror eller syster).
- I nodträdet kallas toppnoden för roten
- Förutom rotnoden har varje nod endast en föräldernod
- Noder kan ha ett obegränsat antal undernoder
- Blad är noder som inte har några undernoder
- Syskon är noder som har samma föräldernod
Nedan visas en del av nodträdet och relationerna mellan noderna:

Eftersom XML-data är konstruerade i form av ett träd, kan de traverseras utan att känna till trädet exakta struktur eller de data typer som innehåller.
Du kommer att lära dig mer om att traversera nodträd i senare kapitel i denna handledning.
Kommentarer:Föräldernod: Parent Node, undernod: Children Node, jämställande nod: Sibling Node.
Första undernoden - sista undernoden
Vänligen se följande 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 Introduction
- Next Page DOM Access Node