Makundi ya XML DOM - Hatua na Maadili

属性和方法向 XML DOM 定义了编程接口。

Mfano

下面的例子使用 XML 文件 books.xml

函数 loadXMLDoc(),位于外部 JavaScript 中,用于加载 XML 文件。

函数 loadXMLString(),位于外部 JavaScript 中,用于加载 XML 字符串。

加载并解析 XML 文件
加载并解析 XML 字符串

编程接口

DOM 把 XML 模拟为一系列节点接口。可通过 JavaScript 或其他编程语言来访问节点。在本教程中,我们使用 JavaScript。

对 DOM 的编程接口是通过一套标准的属性和方法来定义的。

MashairiInaukwa kwa sababu ya 'ni raita kama ni' (masaa mpya ni 'book').

VifaaInatumiwa kama "kutumia kwa kumaliza kazi kwa kawaida" (kama kurejesha maelezo wa "book").

Vifaa vya XML DOM

Vifaa vya DOM vya kawaida:

  • x.nodeName - Jina la x
  • x.nodeValue - Thamani ya x
  • x.parentNode - Maelezo wa kwanza wa x
  • x.childNodes - Mafanikio ya maelezo ya x
  • x.attributes - Mafanikio ya maelezo ya x

Mawazo ya kuzingatia:Kwenye orodha hiyo, x ni kama mwingiliano wa maelezo.

Vifaa vya XML DOM

  • x.getElementsByTagName(name) - Kusaidia kufikia vingiliano vya kawaida vya jina
  • x.appendChild(node) - Kusaidia kuingiza maelezo waandiko kwenye x
  • x.removeChild(node) - Kusaidia kurejesha maelezo waandiko kutoka kwenye x

Mawazo ya kuzingatia:Kwenye orodha hiyo, x ni kama mwingiliano wa maelezo.

Mfano

Inaingia JavaScript kwa kusoma maelezo wa <title> kutoka kwenye books.xml:

txt=xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue

Kisha kufanywa hii, txt inahifadhi thamani "Harry Potter".

Muhtasari:

  • xmlDoc - XML DOM kinachotengenezwa na usafishaji
  • getElementsByTagName("title")[0] - Mwongozo wa kwanza wa <title>
  • childNodes[0] - Mwongozo wa kwanza wa <title> (mwingiliano waandiko)
  • nodeValue - Msingi wa maelezo (maelezo waandiko wenyewe)

Kwenye mafanikio ya juu, getElementsByTagName ni method, na childNodes na nodeValue ni mafanikio.

Usafishaji wa faili ya XML - Mfano wa kuzungumza kwa kawaida

Mafuatilia ya kusoma kilichotumika kwa loadXMLDoc: books.xml Inakaa katika mifano ya usafishaji wa XML, na inaonyesha data ya kwanza ya book:

xmlDoc=loadXMLDoc("books.xml");
document.write(xmlDoc.getElementsByTagName("title"))
[0].childNodes[0].nodeValue);
document.write("<br />");
document.write(xmlDoc.getElementsByTagName("author"))
[0].childNodes[0].nodeValue);
document.write("<br />");
document.write(xmlDoc.getElementsByTagName("year"))
[0].childNodes[0].nodeValue);

Matokeo:

Harry Potter
J K. Rowling
2005

TIY

Kwenye mafanikio ya juu, tumetumia childNodes[0] kwa kila maelezo waandiko, inaingia kwamba kila elementi ina maelezo waandiko tu. Hii ni kwa sababu method ya getElementsByTagName inapewa kama msingi wa matukio.

Usafishaji wa kipakana cha XML - Mfano wa kuzungumza kwa vifaa vya kuzungumza kwa kawaida

Mafuatilia ya kusoma na kusafisha kipakana cha XML:

Mafuatilia ya kipakana kilichotumika kwa loadXMLString ina kusaidia kusoma kipakana cha XML books.xml Leta hifadhi wa XML na onyesha data ya kwanza ya book:

text="<bookstore>"
text=text+"<book>";
text=text+"<title>Harry Potter</title>";
text=text+"<author>J K. Rowling</author>";
text=text+"<year>2005</year>";
text=text+"</book>";
text=text+"</bookstore>";
xmlDoc=loadXMLString(text);
document.write(xmlDoc.getElementsByTagName("title"))
[0].childNodes[0].nodeValue);
document.write("<br />");
document.write(xmlDoc.getElementsByTagName("author"))
[0].childNodes[0].nodeValue);
document.write("<br />");
document.write(xmlDoc.getElementsByTagName("year"))
[0].childNodes[0].nodeValue);

Matokeo:

Harry Potter
J K. Rowling
2005

TIY