Dot-Net

XPath 獲取具有最高 ID 的元素

  • May 14, 2019

XML 源:

<documents>
   <document>
       <id>3</id>
   </document>
   <document>
       <id>7</id>
   </document>
   <document>
       <id>1</id>
   </document>
</documents>

我需要在其 id 元素中具有最高值的文件元素<document><id>7</id></document>在範例中如此)。我無法更改 C# 程式碼,XMLDocument.SelectSingleNode(...)我只能修改使用的 XPath。

有沒有喜歡documents/document[id=max(id)]或喜歡order by id descending得到它的東西?

documents/document[not(../document/id > id)]/id

除了 Nick Jones XPath 1.0 的正確答案,在 XPath 2.0 中:

/documents/document[id = max(../document/id)]

引用自:https://stackoverflow.com/questions/3786443