XML DOM solmut

XML DOM:n mukaan XML-dokumentin kaikki sisältö onPiste

  • Kokonainen dokumentti on dokumenttipiste
  • Jokainen XML-elementti on elementtipiste
  • XML-elementin teksti on tekstipiste
  • Jokainen ominaisuus on ominaisuuspiste
  • Kommentit ovat kommenttipisteitä

DOM Esimerkki

Tarkista seuraava XML-tiedosto (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="儿童">
  <title lang="zh">Shidai de lihaihuhu Baba</title>
  <author>Rolde Dahl</author>
  <translator>Da Wei</translator>
  <press>mingtian chubanshe</press>
  <year>2009</year>
  <price>10</price>
  <ISBN>9787533259563</ISBN>
</book>
<book category="kirjallisuus">
  <title lang="zh">Jingshi weile mingsheng</title>
  <author>Sigmond Baumann</author>
  <author>Peter Hauvner</author>
  <translator>Wang Liquiu</translator>
  <press>Nanjing Daxue Chubanshe</press>
  <year>2023</year>
  <price>68</price>
  <ISBN>9787305269387</ISBN>
</book>
<book category="tiede">
  <title lang="zh">Haluatko lentää, kuten lintu?</title>
  <author>Richard Dawkins</author>
  <author>Yana Renzova</author>
  <translator>GAO Tianyu</translator>
  <press>Hunan Kexue Jishu Chubanshe</press>
  <year>2023</year>
  <price>88</price>
  <ISBN>9787571019075</ISBN>
</book>
<book category="politiikka" cover="kantokantta">
  <title lang="zh">Lun Meiguo de Minzhu</title>
  <author>Tuokiville</author>
  <translator>Dong Guoliang</translator>
  <press>Shangwu Yinshe</press>
  <year>1989</year>
  <price>60</price>
  <ISBN>9787100124553</ISBN>
</book>
</bookstore>

Yllä olevassa XML:ssa juurisolmu on <bookstore>.

Dokumentin kaikki muut solmut sisältyvät <bookstore> solmuun.

Juurisolmu <bookstore> omaa 5 <book> solmua.

Ensimmäinen <book> solmu sisältää 6 alisoluta: <title>, <author>, <press>, <year>, <price> ja <ISBN>.

Jokaisessa lapsisolmussa on tekstisolmu:

  • "雅舍谈吃"
  • "梁实秋"
  • "江苏文艺出版社"
  • "2012"
  • "48.00"
  • "9787100011105"

Teksti tallennetaan aina tekstisolmussa

Yleinen virhe DOM-käsittelyssä on uskoa, että elementtisolmu sisältää tekstin.

Kuitenkin elementtisolmun teksti tallennetaan tekstisolmussa.

Tässä esimerkissä:<year>2013</year>,elementtisolmu <year> sisältää tekstisolmun arvolla "2012".

"2012" Ei <year> elementin arvo!

XML DOM solmutaustuksi

XML DOM näkee XML-dokumentin puun muodossa. Tämä puun muoto kutsutaanSolmutaustu.

Kaikki solmut voidaan saavuttaa tämän puun kautta. Voit muuttaa tai poistaa niiden sisältöä, tai luoda uusia elementtejä.

Tämä solmutaustu näyttää solmujen joukon sekä niiden väliset yhteydet. Tämä puu alkaa juurisolmusta ja kasvaa solmutaustun alin tasolle tekstisolmuihin:

DOM solmu puu

Yllä oleva kuva esittää XML-tiedoston books.xml.

Isä-, lapsi- ja kaksosisolmut

Solmutaustun solmut ovat välillään hierarkisia

Termit 'isä', 'lapsi' ja 'kaksoset' kuvaa tätä suhdetta. Isäsolmuilla on lapsisolmuja. Samaan tasoon kuuluvat lapsisolmut kutsutaan sisar- tai kaksosisolmuiksi (veli tai sisar).

  • Solmutaustussa juurisolmu kutsutaan juurisolmuksi
  • Jokaisella solmuilla, paitsi juurisolmuilla, on vain yksi isäsolmu
  • Solmu voi olla minkä määrän lapsisolmuja
  • Lehdet ovat solmuja, joilla ei ole lapsisolmuja
  • Kaksoset ovat solmuja, joilla on sama isäsolmu

Seuraavassa kuvassa näkyy solmutaustun osa, sekä solmujen väliset suhteet:

DOM solmu puu

Koska XML-tiedot rakennetaan puun muodossa, voidaan hakea niitä ilman, että tiedetään puun tarkka rakenne tai mukana olevat datatyypit.

Opit myöhemmin tässä kurssissa lisää solmujen hakemisesta solmutaustusta.

Kommentit:Isäsolmu: Parent Node,lapsisolmu: Children Node,samaan tasoon kuuluvat solmut: Sibling Node。

Ensimmäinen alijoukon solmu - viimeinen alijoukon solmu

Tarkista seuraava XML-pala:

<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.