2010-03-30 118 views
2

是否有一種通用的方式來使用XQuery/XPath從XML節點確定所有屬性(及其值)?XQuery獲取元素所有屬性的列表

<parent> 
    <something attr1="123" attrA="abc" ..... attrAnythingelse="blablabla"/> 
</parent> 

回答

2

獲取使用XPath當前節點的所有屬性:

@* 

是你以後在做什麼?

的名稱和屬性的值可以爲每個屬性提取:

name(@*[1]) 
string(@*[1]) 

取決於你想與他們做什麼。 (:CONCAT(名稱($ ATT), 「=」, 「 '」,$ ATT 「'」),FN)

+0

是的,這是值的,我也需要attributenames – alex 2010-03-30 14:24:27

+0

你需要遍歷由此返回的屬性節點。我不知道要編寫一個xpath查詢,它將返回元素節點屬性的鍵值對列表。 (這個答案返回屬性節點的節點集,節點名可用於另一個xpath查詢) – MattH 2010-03-30 14:33:28

1

在$ DOC // @ * 回報$ ATT回報//@*/(concat(name(.),"=「,.))

0

$ DOC