在HTML中,怎样用XML去解析一个XML文件?求解

html-css013

在HTML中,怎样用XML去解析一个XML文件?求解,第1张

if(window.ActiveXObject){xmlDoc = new ActiveXObject('Microsoft.XMLDOM')

xmlDoc.async = false

xmlDoc.load(xmlFile)}else if (document.implementation &&document.implementation.createDocument){xmlDoc = document.implementation.createDocument('', '', null)xmlDoc.async = false

xmlDoc.load(xmlFile)}else{return null}return xmlDoc}function startload (){var option,optiontext

if(xmlDoc == null){alert('您的浏览器不支持xml文件读取!')}else{var DeptXML = xmlDoc.getElementsByTagName("department")

//alert(DeptXML.length)

for (var i = 0 i <DeptXML.length i ++ ){option = document.createElement('option')

option.setAttribute("value",DeptXML[i].getAttribute('name'))

optiontext = document.createTextNode(DeptXML[i].getAttribute('name'))

option.appendChild(optiontext)

//option.innerHTML = DeptXML[i].getAttribute('name')

document.getElementById("cdepname").appendChild(option)}}}function clearList(){var username = document.getElementById("username")

while (username.childNodes.length >0){username.removeChild(username.childNodes[0])}}function refreshList (){clearList()

var option,optiontext

if(xmlDoc == null){alert('您的浏览器不支持xml文件读取!')}else{var selectDep = document.form1.cdepname.options[document.form1.cdepname.selectedIndex].text

/*var selectDep =document.getElementById("cdepname").options[document.getElementById("cdepname").options.selectedIndex].value*/

//alert(selectDep)

var DeptXML = xmlDoc.getElementsByTagName("department")

for (var i = 0 i <DeptXML.length i ++ ){if (DeptXML[i].getAttribute("name") == selectDep){var DeptSel = DeptXML[i]break}}for (i=0 i <DeptSel.childNodes.lengthi++){chen = new Option(DeptSel.childNodes[i].getAttribute("name"),DeptSel.childNodes[i].getAttribute("name"))

document.form1.username.options.add(chen)}}}function CheckUser (){//alert('sdfsadf')

if(xmlDoc == null){alert('您的浏览器不支持xml文件读取!')}else{var selectDep = document.form1.cdepname.options[document.form1.cdepname.selectedIndex].text

var DeptXML = xmlDoc.getElementsByTagName("department")

for (var i = 0 i <DeptXML.length i ++ ){if (DeptXML[i].getAttribute("name") == selectDep){var DeptSel = DeptXML[i]break}}var selectPer = document.form1.username.options[document.form1.username.selectedIndex].text

for (i=0 i <DeptSel.childNodes.lengthi++){if (DeptSel.childNodes[i].getAttribute("name") == selectPer){if (DeptSel.childNodes[i].getAttribute("pwd") == document.getElementById("pwd").value){//alert('登陆成功!')

HTML和XML的区别是:语法要求不同,标记不同,作用不同。

具体区别为:

1、语法要求不同:

1. 在html中不区分大小写,在xml中严格区分。

2. 在HTML中,有时不严格,如果上下文清楚地显示出段落或者列表键在何处结尾,那么你可以省略</p>或者</li>之类的结束标记。在XML中,是严格的树状结构,绝对不能省略掉结束标记。

3. 在XML中,拥有单个标记而没有匹配的结束标记的元素必须用一个/ 字符作为结尾。这样分析器就知道不用查找结束标记了。

4. 在XML中,属性值必须分装在引号中。在HTML中,引号是可用可不用的。

5. 在HTML中,可以拥有不带值的属性名。在XML中,所有的属性都必须带有相应的值。

6. 在XML文档中,空白部分不会被解析器自动删除;但是html是过滤掉空格的。

2、标记不同:

1、html使用固有的标记;而xml没有固有的标记。

2、Html标签是预定义的;XML标签是免费的、自定义的、可扩展的。

3、作用不同:

1. html是用来显示数据的;xml是用来描述数据、存放数据的,所以可以作为持久化的介质!Html将数据和显示结合在一起,在页面中把这数据显示出来;xml

则将数据和显示分开。 XML被设计用来描述数据,其焦点是数据的内容。HTML被设计用来显示数据,其焦点是数据的外观。

2. xml不是HTML的替代品,xml和html是两种不同用途的语言。 XML 不是要替换 HTML;实际上XML 可以视作对 HTML 的补充。XML 和HTML 的目标不同HTML 的设计目标是显示数据并集中于数据外观,而XML的设计目标是描述数据并集中于数据的内容。

3. 没有任何行为的XML。与HTML 相似,XML 不进行任何操作。(共同点)

4. 对于XML最好的形容可能是: XML是一种跨平台的,与软、硬件无关的,处理与传输信息的工具。

5. XML未来将会无所不在。XML将成为最普遍的数据处理和数据传输的工具。

XML和HTML都是标签化的代码,其实也都是网页的一种写法

但是浏览器决定了显示什么,也就是浏览器直接解析HTML的基本标签,配合CSS,进行显示

对于XML,XSL替代了CSS的作用,其实结构性个人感觉更灵活(XML也可以用IE直接打开,所以其实也是解析了的,只是解析的模式不同)

补充:

目前来说,XML从一种网页应用,走向了一种格式化信息的应用(你可以理解为携带型信息源,一种有规范格式的信息存储文件),一般用在3个方面比较多

1、固定信息源,供其他程序读取

2、少量型的交换信息源,例如,后台操作XML,前台读取信息源(大量的话都用数据库了)

3、配置文件

不管怎么样,我们需要使用XML里的这些信息,所以我们需要解析它,因为它的那些格式标签不是我们所需要的,我们需要的标签里的那些内容,从标签来判断这些内容是什么类型的内容,该放什么地方,这个过程就是解析