我正在用Java处理XML,我在想;元素和节点的区别是什么?
节点是DOM树的一部分,元素是特定类型的节点
如。 <foo>这是文本</foo>
你有一个foo元素,(它也是一个节点,因为元素继承自节点)和一个文本节点'This is Text',这是foo元素/节点的一个子节点
Node对象是整个DOM的主要数据类型。
节点可以是元素节点、属性节点、文本节点或“节点类型”一章中解释的任何其他节点类型。
XML元素包括(包括)元素的开始标记到(包括)元素的结束标记。
正如各种XML规范所描述的,元素是由开始标记、结束标记和中间的内容组成的,或者是空元素标记(没有内容或结束标记)。换句话说,这些都是元素:
<foo> stuff </foo>
<foo bar="baz"></foo>
<foo baz="qux" />
虽然您听到的“节点”的含义大致相同,但每个XML规范都没有准确的定义。它通常用来指dom之类的节点,这些节点可能与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有以下节点类型:
根节点 元素节点 文本节点 属性节点 命名空间节点 处理指令节点 注释节点
你的问题“元素和节点之间的区别是什么”的答案是:
元素是节点的一种类型。存在许多其他类型的节点,用于不同的目的。
现在我知道,元素是节点之一
所有节点类型都在这里http://www.w3schools.com/dom/dom_nodetype.asp
元素位于结束标记中的开始标记和结束标记之间
文本节点是一个节点,而不是一个元素。
xml文档是由嵌套元素组成的。元素开始于它的开始标记,结束于它的结束标记。你可能在html中看到过<body>和</body>。开始标记和结束标记之间的所有内容都是元素的内容。如果一个元素是由一个自关闭标记定义的(例如。<br/>)则其内容为空。
开始标记也可以指定属性,例如。> < p class = "咆哮”。在这个例子中,属性名是'class',其值是'rant'。
XML语言中没有“节点”这种东西。阅读说明书,这个词不会出现。
有些人非正式地使用“节点”这个词来表示元素,这是令人困惑的,因为一些解析器也赋予这个词一个技术意义(识别“文本节点”和“元素节点”)。确切的含义取决于解析器,所以除非说明使用的解析器,否则这个词的定义是不明确的。如果你指的是元素,就说‘element’。
XML Element是一个XML节点,但带有附加的元素,如属性。
<a>Lorem Ipsum</a> //This is a node
<a id="sample">Lorem Ipsum</a> //This is an element
推荐文章
- XPath根据子元素的值选择元素
- 用java解析DOM的规范化——它是如何工作的?
- c++最好的开放XML解析器是什么?
- XPath:从子节点获取父节点
- 如何在Python中使用XPath ?
- 错误:不允许匹配“[xX][mM][lL]”的处理指令目标
- 如何使用PHP动态生成XML文件?
- 如何改变线的颜色在EditText
- 在strings.xml中从另一个字符串引用一个字符串?
- XML属性vs XML元素
- 如何在XML中转义“&”?
- 在Java中,如何将XML解析为字符串而不是文件?
- XML模式(XSD)验证工具?
- 从XML生成c#类
- 非常简单的log4j2 XML配置文件,使用控制台和文件追加器