Ufikiaji wa Majina ya XML DOM
- Pya ya awali Maelezo ya matumizi na matukio ya DOM
- Pya ya baadhi Mfano wa maelezo ya DOM
Kwa kutumia DOM, unaweza kufikia mifumo yote kwenye wasafiri wa XML.
Mfano
Mfano huu usesha faili ya XML books.xml.
Fungu loadXMLDoc()inaendelea kwenye JavaScript kina, inayotumika kusakinisha faili ya XML.
- Kufikia mifumo kwa kina kwenye orodha ya mifumo
- Mfano huu usesha methodi ya getElementsByTagname() kufikia mifumo ya kathama tatu ya <title> kwenye "books.xml".
- Kumiongoza mifumo kwa mafungo ya length
- Mfano huu usesha mafungo ya length kumiongoza mifumo ya zote <title> kwenye "books.xml".
- Kunia angalau ya aina ya mifumo ya kawaida
- Mfano huu usesha mafungo ya nodeType kufikia aina ya mifumo ya kawaida kwenye mifumo ya "books.xml".
- Kukiongoza mifumo
- Mfano huu usesha mafungo ya nodeType kusaidia kumalizia mifumo ya "books.xml".
- Kukiongoza mifumo kwa mawasiliano ya mifumo
- Mfano huu usesha mafungo ya nodeType na nextSibling kusaidia kumalizia mifumo ya "books.xml".
Kufikia mifumo
Unaweza kufikia mifumo kwa tatizo tofauti:
- Kwa kutumia methodi ya getElementsByTagName()
- Kwa kutumia mifumo ya kufikia kwenye mti wa mifumo
- Kwa kutumia mawasiliano ya mifumo kwenye mti wa mifumo
Methodi ya getElementsByTagName()
getElementsByTagName() inaonyesha zote za kina msingi kifupi kimeza.
mashairi
node.getElementsByTagName("tagname");
Mfano
Mifano hizi inatuma kina ya <title> zote katika kina ya x:
x.getElementsByTagName("title");
Tunaamua, mifano ya juu inatuma kina ya <title> katika x. Kuwaingia kina ya <title> zote katika ujumbe wa XML, tumekuwa na:
xmlDoc.getElementsByTagName("title");
Hapa, xmlDoc ni ujumbe wa kuzima (kina wa ujumbe).
DOM Node List
getElementsByTagName() inatuma orodha ya kina (node list). Orodha ya kina ni orodha ya kina.
Kutumia loadXMLDoc() 把 "books.xml"Kuwaingia xmlDoc
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title");
Inaweza kutumia kivinjari kufikia kina ya <title> katika x. Kuifikia kina ya tatu ya <title>, inaweza kuandika:
y=x[2];
Tahadhari:Kivinjari kilianza na 0.
Katika sekina zaidi ya ujumbe huu, utakupata ujumbe zaidi kuhusu Node List.
DOM Node List Length
Propeti ya length inasababisha ukurabu wa orodha ya kina (ingawa ina uwezo wa kina).
Unaweza kutumia propeti ya length kuongeza orodha ya kina:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title"); for (i=0;iMfano wa ujumbe:
- Kutumia loadXMLDoc() 把 "books.xml"Kuwaingia xmlDoc
- Pata kina ya <title> zote
- Inasaidia kushika thamani ya kina ya <title> kwa ujumbe wa matokeo
Node Type
Dokument ya XML documentElement vipso ni kina wa kuzima
kina nodeName vipso ni jina la kina
kina nodeType Vipso ni aina ya kina
Wewe utakupata ujumbe zaidi kuhusu vipso vya kina katika sekina zaidi ya ujumbe huu.
Jifunze kina
Mtaani hizi ya chaguo inayofanana kina kina ya kina wa kuzingatia kina kina kwa aina ya kina:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.documentElement.childNodes; for (i=0;iMfano wa ujumbe:
- 通过使用 loadXMLDoc() 把 "books.xml" 载入 xmlDoc 中
- Pata mabaki ya kina ya kizito
- Tinga mtafuta aina ya aina ya kina kila mtoaji. Ikiwa aina ya kina ni "1", inaona kina msingi
- 如果是元素节点,则输出节点的名称
利用节点的关系进行导航
下面的代码通过利用节点的关系在节点树中进行导航:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book")[0].childNodes; y=xmlDoc.getElementsByTagName("book")[0].firstChild; for (i=0;i"); } y=y.nextSibling; }
- 通过使用 loadXMLDoc() 把 "books.xml" 载入 xmlDoc 中
- 获得第一个 book 元素的子节点
- 把 "y" 变量设置为第一个 book 元素的第一个子节点
- 检查每个子节点的节点类型,如果节点类型是 "1",则是元素节点
- 如果是元素节点,则输出该节点的名称
- 把 "y" 变量设置为下一个同级节点,并再次运行循环
- Pya ya awali Maelezo ya matumizi na matukio ya DOM
- Pya ya baadhi Mfano wa maelezo ya DOM