XML中DOM有些啥用,它具体有很多的对象和方法,他们有啥用,具体举个例子用在哪?!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XML中DOM有些啥用,它具体有很多的对象和方法,他们有啥用,具体举个例子用在哪?!相关的知识,希望对你有一定的参考价值。
最好大家能举个例子来说明下。
我来回答这个问题.我软件专业的,学过XML.下面是我自己的理解:XML主要用于数据的处理与表达.因为html等其它标记语言无法准确表达其本质内容,而主要是表现样式.导致带来很多不便.这样,XML就诞生了.
XML的DOM其实就是映射在内存中的数据.XML是树型结构,操作很麻烦.DOM的出现就是解决这个问题的.利用DOM,可以轻松地在节点间进行读取,增加,删除等一系列操作.
下面举个例子吧,我上课时候的题目:
<html>
<head>
<title>ex 08 - code by MacroChin 10:08 2008-5-23</title>
<style>
tr,td
border-bottom: #0000FF solid 1px;
font-size: 11px;
font-family: Arial;
</style>
<script language="VBScript" defer>
<!--
Function listProc(str)
s=""
tds = split(str, " ")
For i=0 To UBound(tds)
s = s & "<td>" & tds(i) &"</td>"
Next
listProc=s
End Function
//-->
</script>
<script language="javascript" defer>
<!--
function list(qrystr)
var sHTML=\'\';
sHTML += \'<table>\\
<tr><td>学号</td><td>姓名</td><td>性别</td><td>年龄</td>\\
<td>C语言</td><td>XML</td><td>JSP</td><td>数据结构</td><td>SQL</td></tr>\\
\';
var xml=new ActiveXObject("Microsoft.XMLDOM");
if(!xml.load("ex08.xml")) return;
var stus=xml.selectNodes(qrystr);
for(var i=0; i<stus.length; i++)
sHTML += \'<tr>\' + listProc(stus.item(i).getAttribute(\'s_ID\') + \' \' + stus.item(i).text) + \'</tr>\';
sHTML += \'</table>\\
<BR>\';
document.getElementById(\'sbox\').innerHTML = sHTML;
//-->
</script>
</head>
<body>
<a href="#" onClick="list(\'//student\');">1.输出所有学生信息</a><BR>
<a href="#" onClick="list(\'//student[@s_ID=\\\'SA01003\\\']\')">2.输出学号(s_ID)为SA01003的学生信息</a><BR>
<a href="#" onClick="list(\'//student[sex=\\\'男\\\']\')">3.输出性别为“男”的所有学生信息</a><BR>
<a href="#" onClick="list(\'//student[age<\\\'20\\\']\')">4.输出年龄小于20的学生信息</a><BR>
<a href="#" onClick="list(\'//student[grade[XML>=\\\'90\\\' and C语言>=\\\'90\\\']]\')">5.输出xml和c语言课程都在90分以上(包括90)的学生信息</a><BR>
<BR><BR>
<div id="sbox"></div>
</body>
</html>
把这个代码保存为ex08.htm文件.
然后再写一个ex08.xml文件,内容如下:
<?xml version="1.0" encoding="GB2312"?>
<students>
<student s_ID="SA01001">
<name>赵毅</name>
<sex>男</sex>
<age>23</age>
<grade>
<C语言>91</C语言>
<XML>90</XML>
<JSP>76</JSP>
<a数据结构>93</a数据结构>
<SQL>83</SQL>
</grade>
</student>
<student s_ID="SA01002">
<name>李晓红</name>
<sex>女</sex>
<age>22</age>
<grade>
<C语言>71</C语言>
<XML>81</XML>
<JSP>76</JSP>
<a数据结构>65</a数据结构>
<SQL>89</SQL>
</grade>
</student>
<student s_ID="SA01003">
<name>欧阳涛</name>
<sex>男</sex>
<age>20</age>
<grade>
<C语言>90</C语言>
<XML>93</XML>
<JSP>78</JSP>
<a数据结构>68</a数据结构>
<SQL>86</SQL>
</grade>
</student>
<student s_ID="SA01004">
<name>李明</name>
<sex>男</sex>
<age>19</age>
<grade>
<C语言>72</C语言>
<XML>77</XML>
<JSP>95</JSP>
<a数据结构>87</a数据结构>
<SQL>78</SQL>
</grade>
</student>
</students>
运行ex08.htm,然后进行一些操作,看看是不是很酷?
以上是我自己的见解,希望对你有帮助. 参考技术A DOM是一些节点的集合,由于文档中可能包含有不同类型的信息,所以定义了几种不同类型的节点。DOM中最常见的节点类型有:
(1)元素:
元素是XML的基本构件。元素的子节点可以是其它元素、文本节点或两者都有。元素节点还可以只含有属性这一唯一类型的节点。
(2)属性:
属性节点包含关于元素节点的信息,但它不是元素的子节点
(3)文本:
文本节点文本信息,或干脆是空白的文本。
(4)文档:
文档节点是整个文档中所有其它节点的父节点
元素是一种很重要的类型节点,元素节点可以是其他节点的容器。 参考技术B 用Java解析XML文档,最常用的有两种方法:使用基于事件的XML简单API(Simple API for XML)称为SAX和基于树和节点的文档对象模型(Document Object Module)称为DOM。Sun公司提供了Java API for XML Parsing(JAXP)接口来使用SAX和DOM,通过JAXP,我们可以使用任何与JAXP兼容的XML解析器。
JAXP接口包含了三个包:
(1) org.w3c.dom W3C推荐的用于XML标准规划文档对象模型的接口。
(2) org.xml.sax 用于对XML进行语法分析的事件驱动的XML简单API(SAX)
(3) javax.xml.parsers解析器工厂工具,程序员获得并配置特殊的特DOM编程不要其它的依赖包,因为JDK里自带的JDK里含有的上面提到的org.w3c.dom、org.xml.sax 和javax.xml.parsers包就可以满意条件了。
殊语法分析器。
以上是关于XML中DOM有些啥用,它具体有很多的对象和方法,他们有啥用,具体举个例子用在哪?!的主要内容,如果未能解决你的问题,请参考以下文章