我是 Linq 的新手,很难解决一个简单的问题……因为我以前从未做过。
该场景是一个带有书籍的单个 XML 表..like :
<?xml version="1.0" encoding="utf-8"?>
<dbproject>
<books_dataset>
<book>
<id>23</id>
<isbn>075221912X</isbn>
<title>Big Brother: The Unseen Story</title>
<author>Jean Ritchie</author>
<publicationYr>2000</publicationYr>
<publisher>Pan Macmillan</publisher>
<pages>169</pages>
<imageBigLink>/images/P/075221912X.01.LZZZZZZZ.jpg</imageBigLink>
<priceActual>0</priceActual>
<numberOfBids>0</numberOfBids>
<sf>kw</sf>
<df></df>
<ef></ef>
<description>Lorem ipsum dolor sit amet</description>
</book>
</books_dataset>
</dbproject>
我正在尝试创建一个查询,它为我提供下一本/上一本书的 ID(下一本/第一本),该书在节点中有一个“kw”字符串。
ID 不连续,也没有索引。因此,例如,下一个按钮正在查找 ID,如下所示:
- 下一(更高)ID = 下一本书
- 其中有一个“kw”字符串
我尝试了很多解决方案,但只是感到困惑:/。
我能够跳到下一个/上一个节点.. 但老实说,我确信这不是完成任务的最佳方法。
我可以列出具有 kw 字符串的书籍,但这两个要求不能一起使用:/
我使用这个查询来询问下一个 ID:
var btnNextEval = (from databack in xmlData.Element("dbproject").Elements(QRY).Elements(QRY_sub)
where databack.Element(fid1).Value == trgtCounter.ToString()
select databack).Single().ElementsAfterSelf().First().Element("id").Value;
trgtCounter = Convert.ToInt16(btnNextEval);
我尝试使用 && 创建多个 where 但没有工作:/
请帮助并向我展示这个愚蠢问题的可能解决方案。谢谢!