2013-08-02 62 views
-1

也許my problem(以及其他許多人)只是對於我在XML代碼中看到的標籤的一種誤解:它被XPath檢測爲node()?或者文字和屬性也被檢測到?`node()`是一個標籤嗎?

.*@*text()node()可用於 「標籤檢測」?

PS:我的猜測是,只有*node()可以標記(和.就像一個*約「這個標籤的孩子」)......但我認爲我錯了。

+0

http://www.w3schools.com/dom/dom_nodetype.asp通過谷歌發現:「node types xml」;) – hek2mgl

+0

由於RowlandShaw說「標記是xml中的一個元素」,所以答案是「節點()檢測標籤,但其他東西也......「和一個重要的相關問題是」如何檢測只有元素「?通過'*'? (不適合我)... –

+0

你爲什麼不接受他的回答?這似乎是你不接受答案(看看你的個人資料)的慣例。 – hek2mgl

回答

1

關閉;你稱之爲標籤是xml術語中的一個元素,元素是一種節點,屬性,文本,註釋等也是如此。

就XPath表達式而言,node()選擇所有節點,而不考慮類型,而*選擇類型元素的節點,並@*會給你的屬性。

+0

有一個XPATH1用於「唯一元素」檢測(或[返回節點類型](http://www.w3schools.com/dom/dom_nodetype.asp))?請參閱[我的上下文](http://stackoverflow.com/q/18025375/287948)。 –

+0

一個真正的問題:*正在檢測字符實體(如nbsp),即不是標籤,是文本的一部分 –

+0

 不是有效的xml實體; *不應選擇文本節點。 –