解析 XML DOM

Wizuo vyote vya kudzuka vinatumiwa tumishaji wa XML wa kudata na kufanya kazi ya XML.

Tumishaji huzigea XML kwenda kama matokeo ambayo inaweza kufikia kwa JavaScript.

Mifano

Mifano ya CodeW3C.com yanaendelea kwa vizuo na mifano. Mifano hii inaweza kuendelea kwenye vizuo vyote vya kudzuka vya hivi karibuni.

Kualii na kusoma faili ya XML
Kualii na kusoma stringi ya XML

Kusoma XML

Wizuo vyote vya kudzuka vya hivi karibuni vinatumiwa tumishaji wa XML wa kudata na kufanya kazi ya XML.

Tumishaji huzalisha XML katika habari ya kina, na huzigea kwenda kama DOM ya XML ambayo inaweza kufikia kwa JavaScript.

Tumishaji wa XML wa Microsoft inaona ya kawaida kati ya vizuo vyengineza vingine. Tumishaji wa Microsoft huzigea kualii ya faili ya XML na stringi ya XML (matukio), wakati vizuo vyengineza vingine vinatumia tumishaji wa kawaida. Kina, vizuo vyote vina funta za kusafiri juu ya mti wa XML, kufikia, kuingiza na kufungua mabaki.

Kwenye kitabu hiki, tutafikia kuhusu huzuni ya kumaliza skripti ambazo zinaendelea kwenye IE na vizuo vyengineza vingine.

Inafaa ya Microsoft XML inangalia XML.

Tumishaji wa XML wa Microsoft unaendelea katika Internet Explorer 5 na vizuo vyepesi vya kudzuka.

Mbinu ya JavaScript hii inasafiri faili ya kifaa cha kusoma ("books.xml) Inaonyesha kifaa cha kusoma:

xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.load("books.xml");

Mafuatilia ya kifaa cha kusoma:

  • Mwili wa kwanza unaundwa kwa kumueleza faili ya Microsoft XML.
  • Barua ya pili inakubalia ukusaidia kwa muda hili, kwa sababu hii inakadhibiti kufichwa kwa kusoma kwa sababu ya uwanja wa mtaalamu
  • Barua ya tatu inasababisha kufichwa kwa kusoma kwa faili ya "books.xml"

Mbinu ya JavaScript hii inasafiri faili ya txt kwenye kifaa cha kusoma:

xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.loadXML(txt);

注释:loadXML() Method ya inafaa kualii stringi (matukio), na load() Inafaa ya kuangalia faili.

Kifaa cha kusoma cha Firefox na vifaa vingine vengine

Mbinu ya JavaScript hii inasafiri faili ya kifaa cha kusoma ("books.xml) Inaonyesha kifaa cha kusoma:

xmlDoc=document.implementation.createDocument("","",null);
xmlDoc.async="false";
xmlDoc.load("books.xml");

Mafuatilia ya kifaa cha kusoma:

  • Barua ya kwanza inakubalianisha faili ya kifaa cha kusoma tu
  • Barua ya pili inakubalia ukusaidia kwa muda hili, kwa sababu hii inakadhibiti kufichwa kwa kusoma kwa sababu ya uwanja wa mtaalamu
  • Barua ya tatu inasababisha kufichwa kwa kusoma kwa faili ya "books.xml"

Mbinu ya JavaScript hii inasafiri faili ya txt kwenye kifaa cha kusoma:

parser=new DOMParser();
xmlDoc=parser.parseFromString(txt,"text/xml");

Mafuatilia ya kifaa cha kusoma:

  • Barua ya kwanza inakubalianisha faili ya kifaa cha kusoma tu
  • Barua ya pili inasababisha kufichwa kwa kusoma kwa faili ya txt

注释:Internet Explorer inatumia loadXML() kwa kufichwa kwa kusoma kwa vifaa vya kusoma vingine. DOMParser miliki.

Kufichwa kwa faili ya kifaa cha kusoma - mbinu yenye muhimu kwa kufichwa kwa vifaa vya kusoma kikabla

Mbinu hii inaonyesha faili ya kifaa cha kusoma ("books.xml) Inaonyesha kifaa cha kufichwa kwa XML:

<html>
<body>
<script type="text/javascript">
try //Internet Explorer
  {
  xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  }
catch(e)
  {
  try //Firefox, Mozilla, Opera, etc.
    {
    xmlDoc=document.implementation.createDocument("","",null);
    }
  catch(e) {alert(e.message)}
  }
try 
  {
  xmlDoc.async=false;
  xmlDoc.load("books.xml");
  document.write("xmlDoc is loaded, ready for use");
  }
catch(e) {alert(e.message)}


TIY

Kosa: Inaruhusiwa Kwenye Uwanja wa Dom

Kwa sababu ya usalama, vifaa vya kusoma vya sasa hawakubali kusaidia kwenye uwanja wengine wa mtaalamu.

Hii inamaanisha kwamba sayari na faili ya XML inayotumika na sayari hizi lazima iwe na uwanja wote wengine wa mtaalamu.

Mbinu ya CodeW3C.com inasafiri faili ya XML inaona uwanja wa CodeW3C.com.

Kama unaonesha kusaidia mbinu hii kwenye sayari yako, lazima wasafiri faili ya XML kuwa na uwanja wako wa mtaalamu. Hata hivyo, xmlDoc.load() inatokana na kosa "Inaruhusiwa".

Kufichwa kwa XML - mbinu yenye muhimu kwa kufichwa kwa vifaa vya kusoma kikabla

Mafuatilia ya kifaa hiki ina uzaalia na kuanzia na ukuwa kufichwa kwa XML

<html>
<body>
<script type="text/javascript">
text="<bookstore>"
text=text+"<book>";
text=text+"<title>Harry Potter</title>";
text=text+"<author>J K. Rowling</author>";
text=text+"2005";
text=text+"";
text=text+"";
try //Internet Explorer
  {
  xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  xmlDoc.async="false";
  xmlDoc.loadXML(text);
  }
catch(e)
  {
  try //Firefox, Mozilla, Opera, etc.
    {
    parser=new DOMParser();
    xmlDoc=parser.parseFromString(text,"text/xml");
    }
  catch(e) {alert(e.message)}
  }
document.write("xmlDoc is loaded, ready for use");



TIY

注释:Internet Explorer 使用 loadXML() 方法来解析 XML 字符串,而其他浏览器使用 DOMParser 对象