這是我的XML片段的XPath - 從母體中獲取價值最高的節點值
<FinancialSummary>
<SummaryDate format="YYYYMMDD">20111231</SummaryDate>
<Revenue currency="EUR">1249164523</Revenue>
</FinancialSummary>
<FinancialSummary>
<SummaryDate format="YYYYMMDD">201</SummaryDate>
<Revenue currency="EUR">1242344523</Revenue>
</FinancialSummary>
<FinancialSummary>
<SummaryDate format="YYYYMMDD">20091231</SummaryDate>
<Revenue currency="EUR">324900932</Revenue>
</FinancialSummary>
林試圖從收入節點financialsummary標籤內的最高數字summarydate值的節點內容。
/FinancialSummary[SummaryDate = '20111231']/Revenue
這個XPath返回正確= 1249164523
max(/FinancialSummary/SummaryDate)
這個XPath返回正確= 20111231
然而,當我嘗試都沒有結合返回
/FinancialSummary[SummaryDate = max(/FinancialSummary/SummaryDate)]/Revenue
有什麼我失蹤了?這個難題的解決方案是什麼?
額外的信息:我試過包含的,而不是「=」,但與
在我看來,在這裏失蹤的東西。你的第一個表達式以'/'開頭,XML文檔只能有一個根。你的最後一個表達式也包含這個斜槓,意味着它只能返回一件事,即第一個也是唯一的文檔根節點的Revenue元素,但前提條件是它滿足謂詞。同樣,你的中間表達似乎也不可能返回正確的數據。你確定這是整個背景嗎? – Abel
@Abel,我同意你說的話,但術語混亂。只能有一個「根」,但這是指根節點('/'),而不是最外層的元素。因此「根節點的收入元素」沒有意義......根節點的唯一子元素是FinancialSummary元素。您顯然是指最外層元素的Revenue元素子元素。 – LarsH
@LarsH:只能有一個根,我們同意。在示例XML中有三個「根」,這是無效的。謂詞'[SummaryDate = max(/ FinancialSummary/SummaryDate)]'選擇了一些東西,但沒有選擇:只有一個根,沒有選擇。我同意我的措辭含糊不清。我的意思是說_「表達式查找根節點(FinancialSummary)的子節點的所有Revenue元素,前提是根節點滿足謂詞」_「。 – Abel