0

CSV ファイルに約 950 個の整数のリストと、複雑にネストされた情報 (各エントリに複数のネストが含まれる) を含む XML ファイルがあります。iCSV ファイル内の整数 を指定すると、それぞれが XML ファイル内の にi対応します。CSV ファイルにリストされているそれぞれについて、事前に指定された列のセットを XML ファイルから抽出したいと考えています。ii<entry><key>i</key>i

これは、より適切な単語がないための一連の抽出「列」の例です (ターゲットは二重のアスタリスクで囲まれています)。

<entry>
<key>55</key>
<cd language="**en**">
  <title>**Ride The Lightning**</title>
  <band>Metallica</band>
</cd>
<tabbook language="**en**">
  <title>**Ride The Lightning Tab**</title>
  <author>Who J. Ever</author>
</tabbook>
</entry>

CSV ファイルの値をスクリプトの変数にロードする必要がありますか、それともこれを行うための既存のより良い方法はありますか?

編集:

現在、BaseX を使用しようとしています。スタータークエリの場合、私は次のことを試みています: for $e in collection("catalog")//entry where //entry/cd/title contains text "lightning" return //title、私が意味する (またはむしろ意味することを願っています): 「コレクション」タイトルのカタログ内の任意のタグの子孫である「エントリ」タイトルのタグの場合、同じ場合エントリの「cd」というタイトルの子孫の「タイトル」というタイトルの子孫には、「稲妻」というテキストが含まれています。完全なタイトルが返ってきます。

concat()くそー、それは紛らわしい....ではなくを使用するように言われましたreturn。クエリが正しくないようです。勉強を続けて、適切な文法を思いついたらまた投稿します。

4

1 に答える 1

0

XPath(少なくともXPath2)では、次のようなクエリを使用できます

 //entry[key = (1,2,3,4,5)]

(1,2,3,4,5) のキーを持つすべてのエントリを検索します。

次に、CSVを括弧内に貼り付けます

于 2012-09-13T15:46:52.323 に答える