XML DOM
XML DOM (XML Document Object Model) 定义一套接见和操纵 XML 文档的规范要领。
DOM 把 XML 文档作为树结构来检察。能够经由过程 DOM 树来接见一切元素。能够修正或删除它们的内容,并建立新的元素。元素,它们的文本,以及它们的属性,都被认为是节点。
鄙人面的例子中,我们运用 DOM 援用从 <to> 元素中猎取文本:
xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue
xmlDoc -由剖析器建立的 XML 文档
getElementsByTagName("to")[0] - 第一个 <to> 元素
childNodes[0] - <to> 元素的第一个子元素(文本节点)
nodeValue - 节点的值(文本自身)
HTML DOM
HTML DOM (HTML Document Object Model) 定义一套接见和操纵 HTML 文档的规范要领。
能够经由过程 HTML DOM 接见一切 HTML 元素。
鄙人面的例子中,我们运用 DOM 援用来转变 id="to" 的 HTML 元素的文本:
document.getElementById("to").innerHTML=
document - HTML 文档
getElementById("to") - 个中的 id="to" 的 HTML 元素
innerHTML - HTML 元素的内部文本
剖析 XML 文件 - 跨浏览器实例
以下代码把一个 XML 文档 ("note.xml") 载入 XML 剖析器中:
<html> <head> <script type="text/javascript"> function parseXML() { 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); return; } } xmlDoc.async=false; xmlDoc.load("note.xml"); document.getElementById("to").innerHTML= xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue; document.getElementById("from").innerHTML= xmlDoc.getElementsByTagName("from")[0].childNodes[0].nodeValue; document.getElementById("message").innerHTML= xmlDoc.getElementsByTagName("body")[0].childNodes[0].nodeValue; } </script> </head> <body onload="parseXML()"> <h1>W3School.com.cn Internal Note</h1> <p><b>To:</b> <span id="to"></span><br /> <b>From:</b> <span id="from"></span><br /> <b>Message:</b> <span id="message"></span> </p> </body> </html>
输出:
To: GeorgeFrom: JohnMessage: Don't forget the meeting!
主要解释
如需从 XML 中提取文本 "John",语法是:
getElementsByTagName("from")[0].childNodes[0].nodeValue
在这个 XML 例子中,只要一个 <from> 标签中,然则依然须要划定数组的下标 [0],这是由于 XML 剖析器要领 getElementsByTagName() 返回一切 <from> 节点的一个数组。
剖析 XML 字符串 - 跨浏览器实例
下面的代码加载并剖析一个 XML 字符串:
<html> <head> <script type="text/javascript"> function parseXML() { text="<note>"; text=text+"<to>George</to>"; text=text+"<from>John</from>"; text=text+"<heading>Reminder</heading>"; text=text+"<body>Don't forget the meeting!</body>"; text=text+"</note>"; 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); return; } } document.getElementById("to").innerHTML= xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue; document.getElementById("from").innerHTML= xmlDoc.getElementsByTagName("from")[0].childNodes[0].nodeValue; document.getElementById("message").innerHTML= xmlDoc.getElementsByTagName("body")[0].childNodes[0].nodeValue; } </script> </head> <body onload="parseXML()"> <h1>W3School.com.cn Internal Note</h1> <p><b>To:</b> <span id="to"></span><br /> <b>From:</b> <span id="from"></span><br /> <b>Message:</b> <span id="message"></span> </p> </body> </html>
输出:
To: GeorgeFrom: JohnMessage: Don't forget the meeting!
解释:Internet Explorer 运用 loadXML() 要领来剖析 XML 字符串,而其他浏览器运用 DOMParser 对象。
以上就是猖獗XML进修笔记(5)-----------XML DOM的内容,更多相关内容请关注ki4网(www.ki4.cn)!