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


当前回答

节点定义为:

文档中有效、完整结构的最小单位。

或者为:

树视图中的对象,用作容纳相关对象的容器。

现在有很多不同类型的节点,比如元素节点,属性节点等等。

其他回答

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

不同的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有以下节点类型:

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

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

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

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

文档也有子节点BUT 没有属性,没有文本,只有一个子元素。

xml文档是由嵌套元素组成的。元素开始于它的开始标记,结束于它的结束标记。你可能在html中看到过<body>和</body>。开始标记和结束标记之间的所有内容都是元素的内容。如果一个元素是由一个自关闭标记定义的(例如。<br/>)则其内容为空。

开始标记也可以指定属性,例如。> < p class = "咆哮”。在这个例子中,属性名是'class',其值是'rant'。

XML语言中没有“节点”这种东西。阅读说明书,这个词不会出现。

有些人非正式地使用“节点”这个词来表示元素,这是令人困惑的,因为一些解析器也赋予这个词一个技术意义(识别“文本节点”和“元素节点”)。确切的含义取决于解析器,所以除非说明使用的解析器,否则这个词的定义是不明确的。如果你指的是元素,就说‘element’。

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

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

你有一个foo元素,(它也是一个节点,因为元素继承自节点)和一个文本节点'This is Text',这是foo元素/节点的一个子节点