私はLinqの初心者で、簡単な問題を解決するのに苦労しています..これまでにやったことがない.
シナリオは、 books..like を持つ単一の XML テーブルです。
<?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>
ノードに「kw」文字列を持つ次/前の書籍の ID (次の書籍/最初の書籍) を取得するクエリを作成しようとしています。
ID は連続しておらず、インデックスもありません。たとえば、次のボタンは次のように ID を探します。
- 次の(上位)ID = 次の本
- 「kw」文字列を含むもの
私は多くの解決策を試しましたが、混乱しました:/。
次/前のノードにジャンプできます..しかし、正直なところ、タスクを達成するための最良のアプローチではないと確信しています。
kw 文字列を持つ本をリストすることはできますが、この 2 つの要件は一緒には機能しません :/
このクエリを使用して、次の 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);
&& を使用して複数の場所を作成しようとしましたが、機能しませんでした:/
このばかげた問題の可能な解決策を教えてください。ありがとう!