XML中的元素和节点之间有什么区别?

时间:2020-03-06 14:42:51  来源:igfitidea点击:

我正在使用Java和XML进行工作,我想知道。元素和节点之间有什么区别?

解决方案

节点是元素和属性(以及基本上所有其他XML表示形式)的基类。

节点是DOM树的一部分,元素是特定类型的节点

例如
<foo>这是文本</ foo>

我们有一个foo元素(这也是一个Node,因为Element从Node继承)和一个文本节点" This is Text",它是foo Element / Node的子元素

节点可以是许多不同种类的事物:一些文本,注释,元素,实体等。元素是特定种类的节点。

元素是节点的一种类型,属性,文本等也是如此。

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

节点可以是元素节点,属性节点,文本节点或者"节点类型"一章中说明的任何其他节点类型。

XML元素是从(包括)元素的开始标记到(包括)元素的结束标记的所有内容。

如各种XML规范中所述,"元素"是由开始标签和结束标签以及其间的内容组成的,或者是一个空元素标签(不包含内容或者结束标签)。换句话说,这些都是元素:

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

尽管我们听到" node"的含义大致相同,但是根据XML规范,它没有精确的定义。它通常用于指代诸如DOM之类的事物的节点,它们可能与XML紧密相关或者使用XML进行表示。

元素是唯一可以具有子节点和属性的节点。

文档也有子节点,但
没有属性,没有文本,仅是一个子元素。

不同的W3C规范定义了不同的"节点"类型集。

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

<UL>

XML信息集(由XPath使用)具有较少的节点集:

  • 文件信息项
  • 元素信息项
  • 属性信息项
  • 处理指令信息项
  • 未扩展实体参考信息项
  • 角色信息项
  • 评论信息项
  • 文档类型声明信息项
  • 未解析的实体信息项
  • 表示法信息项
  • 命名空间信息项

XPath具有以下节点类型:

  • 根节点
  • 元素节点
  • 文字节点
  • 属性节点
  • 命名空间节点
  • 处理指令节点
  • 评论节点

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

元素是节点的一种。存在许多其他类型的节点,并可以达到不同的目的。

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

此处的所有节点类型" http://www.w3schools.com/dom/dom_nodetype.asp"

元素在开始标签和结束标签之间

因此,文本节点是节点,而不是元素。