java解析XML Node与Element的区别
对Element和Node有困惑是因为对xml整个结构不了解,以下作为一个简要概述:
以下图为w3c.org网站的xml文档树图:
从上图可以看出,一个xml文档由元素节点,属性节点,文本节点构成,其中bookstore被称为文档元素或根元素,也是一个元素节点
XML DOM是这样规定一个节点的
XML 文档中的每个成分都是一个节点。
整个文档是一个文档节点 即Document节点。在java中Document接口是继承于Node接口,表示整个XML 文档
每个 XML 标签是一个元素节点 即ELEMENT节点。在Java中Element接口继承于Node接口 表示XML 文档中的一个元素
包含在 XML 元素中的文本是文本节点 即Text节点。在java中Text接口继承于CharacterData接口,而CharacterData继承于Node接口,表示 Element 或 Attr 的文本内容
每一个 XML 属性是一个属性节点 即Attr节点。在java中Attr接口继承与Node接口。
注释属于注释节点 即Comment节点。在java中Comment接口继承于CharacterData接口,而CharacterData继承于Node接口
所以其实xml文档中每一个对象都是一个节点。元素一定是节点,而节点不一定是元素。
逆天改命!我命由我不由天!