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


当前回答

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

其他回答

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

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

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

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

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

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

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

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

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

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

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

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

节点和元素是相同的。每个元素都是一个节点,但并不是每个节点都必须是一个元素。