我正在用Java处理XML,我在想;元素和节点的区别是什么?


当前回答

Node对象是整个DOM的主要数据类型。

节点可以是元素节点、属性节点、文本节点或“节点类型”一章中解释的任何其他节点类型。

XML元素包括(包括)元素的开始标记到(包括)元素的结束标记。

其他回答

正如各种XML规范所描述的,元素是由开始标记、结束标记和中间的内容组成的,或者是空元素标记(没有内容或结束标记)。换句话说,这些都是元素:

<foo> stuff </foo>
<foo bar="baz"></foo>
<foo baz="qux" />

虽然您听到的“节点”的含义大致相同,但每个XML规范都没有准确的定义。它通常用来指dom之类的节点,这些节点可能与XML密切相关,或者使用XML表示。

Node对象是整个DOM的主要数据类型。

节点可以是元素节点、属性节点、文本节点或“节点类型”一章中解释的任何其他节点类型。

XML元素包括(包括)元素的开始标记到(包括)元素的结束标记。

节点可以是许多不同类型的东西:一些文本、注释、元素、实体等。元素是一种特殊类型的节点。

现在我知道,元素是节点之一

所有节点类型都在这里http://www.w3schools.com/dom/dom_nodetype.asp

元素位于结束标记中的开始标记和结束标记之间

文本节点是一个节点,而不是一个元素。

不同的W3C规范定义了不同的“Node”类型集。

因此,DOM规范定义了以下类型的节点:

Document -- Element (maximum of one), ProcessingInstruction, Comment, DocumentType DocumentFragment -- Element, ProcessingInstruction, Comment, Text, CDATASection, EntityReference DocumentType -- no children EntityReference -- Element, ProcessingInstruction, Comment, Text, CDATASection, EntityReference Element -- Element, Text, Comment, ProcessingInstruction, CDATASection, EntityReference Attr -- Text, EntityReference ProcessingInstruction -- no children Comment -- no children Text -- no children CDATASection -- no children Entity -- Element, ProcessingInstruction, Comment, Text, CDATASection, EntityReference Notation -- no children

XML Infoset (XPath使用)有一个较小的节点集:

文件信息项

元素信息

属性信息项

加工指令信息

未展开的实体参考信息项

角色信息

评论信息项目

文档类型声明信息项

未解析的实体信息项

符号信息项

命名空间信息项

XPath有以下节点类型:

根节点 元素节点 文本节点 属性节点 命名空间节点 处理指令节点 注释节点

你的问题“元素和节点之间的区别是什么”的答案是:

元素是节点的一种类型。存在许多其他类型的节点,用于不同的目的。