定制xml编辑器

最近写一个xml编辑系统,使用java编写web项目.

用到SSH.

xml解析准备使用DOM或者dom4j.

由于是定制的xml系统,节点都是固定的,所以没有使用SAX.

由于找到一个DOM文档,所以最后决定使用DOM.文档链接http://www.w3school.com.cn/xmldom/index.asp

关于DOM的一些注意事项:

1、在 DOM中,XML 文档中的每个成分都是一个节点

  • 整个文档是一个文档节点

  • 每个 XML 标签是一个元素节点

  • 包含在 XML 元素中的文本是文本节点

  • 每一个 XML 属性是一个属性节点

  • 注释属于注释节点

2、XML DOM 把 XML 文档视为一种树结构。这种树结构被称为节点树。这棵树从根节点开始,然后在树的最低层级向文本节点长出枝条(树的知识就不用介绍了吧,数据结构书已经讲得很清楚了)。PS:父节点:Parent Node,子节点:Children Node,同级节点:Sibling Node。

3、在访问并处理 XML 文档之前,必须把它载入 XML DOM 对象。

4、DOM 把 XML 模拟为一系列节点接口。可通过 JavaScript 或其他编程语言来访问节点。

    对 DOM 的编程接口是通过一套标准的属性和方法来定义的。

  • 属性经常按照“某事物是什么”的方式来使用(例如节点名是 "book")。

  • 方法经常按照“对某事物做什么”的方式来使用(例如删除 "book" 节点)。

一些典型的 DOM 属性:

  • x.nodeName - x 的名称

  • x.nodeValue - x 的值

  • x.parentNode - x 的父节点

  • x.childNodes - x 的子节点

  • x.attributes - x 的属性节点

注释:在上面的列表中,x 是一个节点对象。

XML DOM 方法

  • x.getElementsByTagName(name) - 获取带有指定标签名称的所有元素

  • x.appendChild(node) - 向 x 插入子节点

  • x.removeChild(node) - 从 x 删除子节点

注释:在上面的列表中,x 是一个节点对象。

5、我们为每个文本节点使用 childNodes[0],即使每个元素只有一个文本节点。这是由于 getElementsByTagName() 方法总是会返回数组。

未完待续

你可能感兴趣的:(定制xml编辑器)