2011-05-21 51 views
4

我有一個xml文件,其中有一個sortbits元素,它具有32個bit元素作爲子元素。如果我使用xpath表達式爲什麼當更改爲[node()]返回元素時,[*]結尾的Xpath表達式返回空列表

/config/portmod/sortbits/bit[*] 

它返回一個空列表。

如果我將其更改爲

/config/portmod/sortbits/bit[node()] 

它返回與所有32個bit元件NodeList

表達

/config/portmod/sortbits/bit[last()] 

返回最後一個元件。爲什麼[*]表達式不返回任何內容?

回答

3

表達式bit[*]返回具有子元素的位元素。如果它什麼都沒有返回,大概沒有包含子元素的位元素。

表達式bit[node()]返回具有任何類型子元素的位元素,例如文本節點子元素。據推測,如果bit[node()]返回元素,並且bit[*]沒有,那麼這些元素具有文本節點子元素,但沒有元素節點子元素。

+0

謝謝Michael,這似乎是答案。表達方式 – 2011-05-22 12:35:22

相關問題