2016-06-29 102 views
0

我正在使用Saxon HE 9.6.0.6,並試圖使用XPath檢索屬性的如何使用XPath和Saxon獲取屬性的值

由於XML及以下查詢:

<Pol> 
    <ISR> 
    <Code Val='Test1'/> 
    <Text Val='test 1'/> 
    </ISR> 
    <ISR> 
    <Code Val = 'Test2' /> 
    <Text Val = 'test 2' /> 
    </ISR> 
</Pol> 

//Pol/ISR/Code[@Val='Test2']/../Text/@Val 

這給了我屬性( 「VAL = '測試2'」),但我想(即 '測試2')。我想我需要使用xpath函數,但不知道如何將它們添加到撒克遜。

回答

1

如果您確定只選擇了一個或零個屬性或//Pol/ISR/Code[@Val='Test2']/../Text/@Val/string()來選擇字符串值序列,則可以使用string(//Pol/ISR/Code[@Val='Test2']/../Text/@Val)

+0

由於某些原因,string()不起作用。我也試過fn:string並導入fn命名空間。 – Neil

+0

請解釋建議不起作用的方式,即如果出現錯誤,如果出現錯誤,哪一項,您如何使用Saxon評估XPath。 –

+0

Evaluate的結果爲null。 – Neil