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

时间:2008-09-25 10:47:54

标签: xml xmlnode

我正在用Java工作,我很想知道;元素和节点之间有什么区别?

13 个答案:

答案 0 :(得分:244)

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

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

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

答案 1 :(得分:66)

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

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

  • Document - Element(最多为 一),ProcessingInstructionCommentDocumentType
  • DocumentFragment - ElementProcessingInstructionCommentTextCDATASectionEntityReference
  • DocumentType - 没有小孩
  • EntityReference - ElementProcessingInstructionCommentTextCDATASectionEntityReference
  • Element - ElementTextCommentProcessingInstructionCDATASectionEntityReference
  • Attr - TextEntityReference
  • ProcessingInstruction - 没有小孩
  • Comment - 没有 孩子
  • Text - 没有 孩子
  • CDATASection - 没有小孩
  • Entity - ElementProcessingInstructionCommentTextCDATASectionEntityReference
  • Notation - 没有 儿童

XML Infoset(由XPath使用)具有较小的节点集:

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

    XPath具有以下节点类型:

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

    您的问题的答案元素和节点之间的区别”是:

    <强> An element is a type of node. Many other types of nodes exist and serve different purposes.

    答案 2 :(得分:27)

    Node是DOM树的一部分,Element是特定类型的Node

    e.g。     <foo> This is Text </foo>

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

    答案 3 :(得分:26)

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

    答案 4 :(得分:15)

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

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

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

    答案 5 :(得分:11)

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

    打开标签还可以指定属性,例如。 <p class="rant">。在此示例中,属性 name 是'class',其'rant'。

    XML语言没有“节点”这样的东西。 Read the spec,这个词不会出现。

    有些人非正式地使用'node'这个词来表示元素,这是令人困惑的,因为一些解析器也给这个词一个技术含义(识别'文本节点'和'元素节点')。确切的含义取决于解析器,因此除非您说明正在使用的解析器,否则该单词的定义不明确。 如果您的意思是元素,请说'元素'

    答案 6 :(得分:9)

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

    答案 7 :(得分:7)

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

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

    答案 8 :(得分:2)

    节点为defined

      

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

    或作为:

      

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

    现在他们有许多不同类型的节点作为元素节点,属性节点等。

    答案 9 :(得分:1)

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

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

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

    因此,文本节点是一个节点,但不是一个元素。

    答案 10 :(得分:0)

    元素是一种节点,属性,文本等。

    答案 11 :(得分:-3)

    XML Element是一个XML节点,但还有其他元素,如属性。

    <a>Lorem Ipsum</a>  //This is a node
    
    <a id="sample">Lorem Ipsum</a>  //This is an element
    

    答案 12 :(得分:-6)

    节点&amp;元素是一样的。每个元素都是一个节点,但并不是每个节点都必须是一个元素。