2016-04-07 30 views
0

我試圖從XML文檔中的元素中找到最大差異。Xquery查找所有元素中的最大差異

因此,從下面的示例數據中,id需要與電影的最大年差。第一部電影的年份差距爲2年,而與第二部電影的最大差距爲3年。所以從這個數據我會回到3

<Movie> 
    <Name></Name> 
    <Year>1990</Year> 
    <Language> 
     <Name></Name> 
     <Year>1992</Year> 
    </Language> 
</Movie> 
<Movie> 
    <Name></Name> 
    <Year>2006</Year> 
    <Language> 
     <Name></Name> 
     <Year>2004</Year> 
    </Language> 
    <Language> 
     <Name></Name> 
     <Year>2003</Year> 
    </Language> 
    <Language> 
     <Name></Name> 
     <Year>2006</Year> 
    </Language> 
</Movie> 
+0

什麼的XQuery的版本,你嘗試過這麼遠嗎? – har07

回答

2

嘗試:

max(//Language/abs(number(../Year)-number(Year))) 
+0

啊,那正是我需要的!它用於我使用的一個小數據集(25個元素左右)。然而,當我試圖在我的大型數據集(256000個元素)上使用它時,它會返回0.不確定這是因爲數據或其他問題存在奇怪之處。 –

+0

所以我拿出了「最大」,它顯示了我所有的256000差異。有很多值超過40,所以我不確定爲什麼選擇0作爲最大值。有任何想法嗎? –

+0

沒有想法。你需要發佈一個可重複的例子。如果您懷疑產品缺陷,(a)說出您正在使用的產品,(b)嘗試使用不同的產品,(c)與供應商聯繫。 –

相關問題