我正在用Java处理XML,我在想;元素和节点的区别是什么?
当前回答
节点是元素和属性(以及所有其他XML表示)的基类。
其他回答
元素和属性、文本等一样都是节点的一种类型。
节点可以是许多不同类型的东西:一些文本、注释、元素、实体等。元素是一种特殊类型的节点。
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
不同的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有以下节点类型:
根节点 元素节点 文本节点 属性节点 命名空间节点 处理指令节点 注释节点
你的问题“元素和节点之间的区别是什么”的答案是:
元素是节点的一种类型。存在许多其他类型的节点,用于不同的目的。
推荐文章
- 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配置文件,使用控制台和文件追加器