我有一个带有下一个结构的XML文件:
<Books>
<Book Topic="Databases" eBook = "Available">
<Pablisher>Wrox</Pablisher>
<Title>Microsoft SQL Server 2008 Integration Services: Problem, Design, Solution</Title>
<Authors>
<Author>Erik Veerman</Author>
<Author>Jessica M. Moss</Author>
<Author>Brian Knight</Author>
<Author>Jay Hackney</Author>
</Authors>
<ISBN>978-0-470-52576-0</ISBN>
<Pages>480</Pages>
<PublicationDate>November 2009</PublicationDate>
<Price>49.99</Price>
</Book>
</Books>
有很多书,我必须归还最厚的一本。 我唯一知道的是如何找到最大页数:
max(for $x in doc("C:\XMLFile1.xml")/Books/Book/Pages
return $x)
但下一步对我来说绝对不清楚。提前谢谢。
答案 0 :(得分:2)
您要做的是获取该最大值,并找到一本属于
的书let $doc = doc("C:\XMLFile1.xml")
let $pages := max($doc/Books/Book/Pages)
return $doc/Books/book[Pages = $pages]
答案 1 :(得分:1)
您也可以使用单个XPath表达式执行此操作:
/Books/Book[. is /Books/Book[Pages = max(/Books/Book/Pages)]]