2010-02-03 16 views
5

一直在編寫使用XML的代碼一段時間以來,我總是想知道有兩個節點和元素的原因是什麼? (我們知道what the differences are)。它們都代表標籤(或多或少),並具有不同的方法,只是使代碼複雜化。爲什麼節點和元素在XML中有所不同?基本原理是什麼?

是否有任何特殊的語義或實際原因,還是僅僅是DOM規範委員會生成的事實?

+1

重複 - http://stackoverflow.com/questions/132564/whats-the-difference-between-an -element-and-a-node-in-xml – MicTech 2010-02-03 09:29:13

+0

這不是重複的。我懷疑關閉這個項目的人沒有讀到這個問題。標題是重複的,內容不是。 總之,他問*爲什麼*節點和元素的想法是作爲獨立的事物存在的,而不是*有什麼不同。 – bharal 2012-12-11 13:30:02

回答

9

節點是一個基類元素 - 在XML文檔中幾乎一切是節點,例如:

<!ENTITY...> 
<xml a="myAttribute"> 
    SomeText 
    <!-- A comment --> 
</xml> 

在上面的例子:

  • <!ENTITY...>是一個實體
  • <xml ...是元素
  • a="myAttribute"是屬性
  • SomeText是一個文本節點
  • <!-- A comment -->是一條評論

所有的節點上繼承的,事實上在上面的例子myAttribute也是一個文本節點。

6

節點比元素更通用。查看this page,瞭解Node可以代表的所有不同「事物」。元素只是這些可能性中的一種,它與標籤相對應。強調節點通常不代表XML標籤是很重要的。例如,<a>blah</a>包含兩個節點。第一個是代表<a>標籤的「元素」,第二個是包含「blah」的文本節點。

2

它們都不代表標籤。元素表示以開始標記開始並以結束標記結束的節點。元素是一個節點,但節點不一定是元素。例如節點可以是:

  • 元素
  • 文本數據
  • 評論
相關問題