为什么XML中的节点和元素不同?理由是什么?

Uga*_*ana 5 xml dom

我已经编写了一段时间在XML上运行的代码,我一直想知道有两个节点和元素的原因是什么?(我们知道差异是什么).它们都代表标签(或多或少)并且具有不同的方法,只是使代码变得复杂.

是否有任何特殊的语义或实际原因,或者只是DOM规范是委员会生成的事实?

Jus*_*tin 9

Node是Element的基类 - 几乎Xml文档中的所有内容都是Node,例如:

<!ENTITY...>
<xml a="myAttribute">
    SomeText
    <!-- A comment -->
</xml>
Run Code Online (Sandbox Code Playgroud)

在上面的例子中:

  • <!ENTITY...> 是一个实体
  • <xml ... 是一个元素
  • a="myAttribute" 是一个属性
  • SomeText 是一个文本节点
  • <!-- A comment --> 是评论

以上所有都继承自Node,实际上在上面的例子myAttribute中也是一个文本节点.


Fra*_*ank 6

节点比元素更通用.查看此页面,了解Node可以代表的所有不同"事物".元素只是其中一种可能性,与标签相对应.重要的是要强调节点通常不代表XML标签.

例如,<a>blah</a>包含两个节点.第一个是表示<a>标签的"元素" ,第二个是包含"blah"的文本节点.