XML 问题: 超越DOM(轻松使用 DOM 的技巧和诀窍)
日期:2007年4月17日 作者: 查看:[大字体 中字体 小字体]-
Dethe Elza (delza@livingcode.org), 高级技术架构师, Blast Radius
文档对象模型(Document Object Model,DOM)是用于操纵 XML 和 HTML 数据的最常用工具之一,然而它的潜力却很少被充分挖掘出来。通过利用 DOM 的优势,并使它更加易用,您将获得一款应用于 XML 应用程序(包括动态 Web 应用程序)的强大工具。本期文章介绍了一位客串的专栏作家,同时也是我的朋友和同事 Dethe Elza。Dethe 在利用 XML 进行 Web 应用程序开发方面经验丰富,在此,我要感谢他对我在介绍使用 DOM 和 ECMAScript 进行 XML 编程这一方面的帮助。请密切关注本专栏,以了解 Dethe 的更多专栏文章。
—— David MertzDOM 是处理 XML 和 HTML 的标准 API 之一。由于它占用内存大、速度慢,并且冗长,所以经常受到人们的指责。尽管如此,对于很多应用程序来说,它仍然是最佳选择,而且比 XML 的另一个主要 API —— SAX 无疑要简单得多。DOM 正逐渐出现在一些工具中,比如 Web 浏览器、SVG 浏览器、OpenOffice,等等。
DOM 很好,因为它是一种标准,并且被广泛地实现,同时也内置到其他标准中。作为标准,它对数据的处理与编程语言无关(这可能是优点,也可能是缺点,但至少使我们处理数据的方式变得一致)。DOM 现在不仅内置于 Web 浏览器,而且也成为许多基于 XML 的规范的一部分。既然它已经成为您的工具的一部分,并且或许您偶尔还会使用它,我想现在应该充分利用它给我们带来的功能了。
在使用 DOM 一段时间后,您会看到形成了一些模式 —— 您想要反复做的事情。快捷方式可以帮助您处理冗长的 DOM,并创建自解释的、优雅的代码。这里收集了一些我经常使用的技巧和诀窍,还有一些 javascript 示例。
insertAfter 和 prependChild
第一个诀窍就是“没有诀窍”。DOM 有两种方法将孩子节点添加到容器节点(常常是一个 Element,也可能是一个 Document 或 Document Fragment):appendChild(node) 和 insertBefore(node, referenceNode)。看起来似乎缺少了什么。假如我想在一个参考节点后面插入或者由前新增(prepend)一个子节点(使新节点位于列表中的第一位),我该怎么做呢?很多年以来,我的解决方法是编写下列函数:
清单 1. 插入和由前新增的错误方法
function insertAfter(parent, node, referenceNode) {
if(referenceNode.nextSibling) {
parent.insertBefore(node, referenceNode.nextSibling);
} else {
parent.appendChild(node);
}
}
function prependChild(parent, node) {
if (parent.firstChild) {
parent.insertBefore(node, parent.firstChild); - [1] [2] [3] [4] [5] [6] [7] [8] 下一页
-
- XML 问题: 超越DOM(轻松使用 DOM 的技巧和诀窍) 相关文章:
- ·XML Schema定义元素的基本知识
- ·利用XMLHTTP无刷新添加数据
- ·成功实现ajax,xmlhttp跨域访问
- ·如何使用XML实现多渠道接入网站的构架
- ·Xml 串行话对象与反串行实例
- ·分享:XMLHTTPRequest的属性和方法简介
- ·Asp.Net XML操作基类
- ·FireFox对XML的处理兼容IE的节点处理方法
- ·网页设计教程之XML技巧五则
- ·XML HttpRequst对象基础方法学习
- XML 问题: 超越DOM(轻松使用 DOM 的技巧和诀窍) 相关软件
- ·使用Java技术的XML高级开发
- ·XML编程技术大全
- ·XML Programming
- ·用JAVA和XML构建分布式系统
- ·Dreamweaver与XML综合应用
- ·Xquery-xml时代的查询语言
- ·PHPXML超经典教程 rar
- ·E路XML留言本(Elook XML GuestBook) v1.0 无组件版
- ·ASP.Net/XML深入编程技术
- ·厦门普工招聘网XML留言簿
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:关于SQL语句的优化方式
下一篇:ajax进度条
精品推荐
热点TOP10
- ·关于web.xml配置的详细说明
- ·XML Schema定义元素的基本知识
- ·XSL/XML网页制作入门,入门到精通
- ·XML轻松学习手册(三):XML的术语
- ·XML轻松学习手册(一):XML快速入门
- ·用XML+JSP实现网页内容动态显示的方案
- ·自定义应用程序配置文件(app.config)
- ·XML轻松学习手册(二):XML概念
- ·XHTML标签写法应该注意的问题
- ·利用XMLHTTP无刷新添加数据
- ·XHTML教程,简单认识XHTML基础知识
- ·常用的XHTML标签的使用技巧介绍
- ·网页设计学习XHTML应用小结
- ·XHTML 1.0 参考
- ·Xml 串行话对象与反串行实例
- ·XQuery 初学者入门教程:XQuery 术语和语法
- ·XQuery 初学者入门教程:XQuery FLWOR + HTML
- ·XQuery 初学者入门教程:XQuery FLWOR 表达式
- ·分享:XMLHTTPRequest的属性和方法简介
- ·XQuery 初学者入门教程:XQuery实例
