第5章XML文档对象模型.pptVIP

  • 1
  • 0
  • 约 69页
  • 2016-12-03 发布于重庆
  • 举报
第5章XML文档对象模型

第5章 XML文档对象模型 理解文档对象模型的概念 熟悉文档对象模型的基本知识 掌握客户端加载XML的方法 掌握服务器端加载XML的方法 学会用DOM编制JavaScript程序 1 DOM的基本概念 DOM(Document Object Model,文档对象模型)定义了访问诸如 XML 和 XHTML 文档的标准,是 W3C(万维网联盟) 推荐的标准。 DOM是一个使程序和脚本有能力动态地访问和更新文档的内容、结构以及样式的与平台和语言中立的接口。它定义了所有文档元素的对象和属性,以及访问它们的方法。 DOM由三部分组成: 核心DOM:用于任何结构化文档的标准模型 HTML DOM:用于HTML文档的标准模型 XML DOM:用于XML文档的标准模型 HTML DOM:定义了所有 HTML 元素的对象和属性,以及访问它们的方法 XML DOM:定义了所有 XML 元素的对象和属性,以及访问它们的方法。 2 XML DOM 节点 在XML DOM中XML文档的每个成分都是一个节点 : 整个文档是一个文档节点 每个 XML 标签是一个元素节点 包含在 XML 元素中的文本是文本节点 每一个 XML 属性是一个属性节点 注释属于注释节点 特别注意: 元素节点不包含文本,元素节点的文本是存储在文本节点中的。 3 XML DOM 节点树 XML DOM 把 XML 文档视为一棵节点树。 可通过这棵树访问所有节点,修改、删除、创建节点。 树中的所有节点彼此之间都有关系。 3.1 XML DOM节点间的关系 父、子和同胞节点用于描述节点间关系 在节点树中,顶端的节点成为根节点 根节点之外的每个节点都有一个父节点 节点可以有任何数量的子节点 叶子是没有子节点的节点 同胞节点是拥有相同的父节点 4 XML DOM 解析 大多数浏览器都内建了供读取和操作 XML 的 XML 解析器。 解析器把 XML 读入内存,并把它转换为可被脚本语言访问的 XML DOM 对象。 所有的解析器都含有遍历 XML 树、访问、插入及删除节点的函数。 4.1 解析器加载 XML文档 在访问、处理 XML 文档之前,必须把它载入 XML DOM 对象。根据浏览器的不同,加载的方法也稍有不同。 DomImplementation对象 4.2 通用XML文档加载函数 4.3 获取解析器错误信息 在打开一个 XML 文档时,可能会发生解析器错误。通过parseError对象,可取回错误代码、错误原因和引起错误的行等等。 parseError 对象的主要属性: errorCode: 返回一个长整型错误码,0表示无错。 reason: 返回包含错误原因的字符串。 line: 返回表示错误行号的长整型数。 获取错误信息的例子 xmlDom=loadXMLDoc(error.xml); if (xmlDom.parseError.errorCode != 0) { document.write(br错误代码: ); document.write (xmlDom.parseError.errorCode); document.write(br错误原因: ); document.write(xmlDom.parseError.reason); document.write(br错误行号: ); document.write(xmlDom.parseError.line) } 5 XML DOM 对象的属性和方法 属性和方法为 XML DOM 定义了编程的接口。 XML DOM的 documentElement 属性是根节点。 XML DOM节点的主要属性(x为任意的节点对象): x.nodeName: x 的名称; x.nodeValue: x 的值; x.parentNode: x 的父节点; x.childNodes: x 的子节点列表; x.attributes: x 的属性节点列表; XML DOM节点的主要方法: x.getElementsByTagName(name): 获取以x为根的子树中带有指定标签名称的所有元素,返回值为节点列表; x.appendChild(node): 向 x 插入子节点; x.removeChild(node): 从 x 删除子节点; 5.1 GetElementsByTagName getElementsByTagName() 返回拥有指定标签名的所有元素的列表(可以看成数组)。 语法: node.getElementsByTagName(tagname); 例: x.getElementsByTagName(title); 仅返回 x 节点下的所有 title

文档评论(0)

1亿VIP精品文档

相关文档