2012-06-05 154 views
7

我有一個簡單的要求,即需要獲取屬性xml:id的值,即af1。 我正在利用SAXParser,這裏是我的xpath:a/aff/@xml:id相反,我能夠使用xpath:a/aff/@value獲取價值。如何使用xpath檢索屬性名稱中包含冒號的屬性名稱的值

但我無法檢索的價值,你能幫我嗎?

<?xml version="1.0" encoding="UTF-8" ?> 
<a> 
    <aff xml:id="af1" value="a"> 
     <uAff> 
      Hello 
     </uAff> 
    </aff> 
    <aff xml:id="corr1"> 
     <uAff> 
      Hello1 
     </uAff> 
    </aff> 
</a> 

在此先感謝。

回答

11

要獲得屬性的值,你可以使用:

/a/aff/@*[name()='xml:id'] 
+0

非常感謝:-)您的回答是關注點:-) 請問您可以告訴如何獲取冒號標籤的價值。如果它是aff:那麼我們該如何解析它?如果你有aff: –

+0

:then aff必須是一個命名空間,這是一個不同的問題。看看這裏:http://stackoverflow.com/questions/536441/xpath-namespace-driving-me-crazy – tibtof

+0

或者你可以使用local-name()而不是name(),FWIW http://stackoverflow.com /一個/32453分之11131700 – rogerdpack

1

/A/AFF/@ XML:ID工程獲得的值就好了......

你試圖讓這兩個值?

如果你試圖讓剛剛您可以使用第一個值/ A/AFF [1]/@ XML:ID

+0

如果沒有冒號,你的回答是正確的,但是當有冒號時,它不會使用/ a/aff/@ xml獲取屬性值:id this xpath。 –

相關問題