0

我在一个 CSV 文件和一个包含复杂嵌套信息的 XML 文件中有一个大约 950 个整数的列表(每个条目都包含多个嵌套)。i给定CSV 文件中的一个整数 ,每个i对应i于 XML 文件中的一个:iin <entry><key>i</key>。我想为iCSV 文件中列出的每个列从 XML 文件中提取一组预先指定的列。

这是一组提取“列”的示例,因为缺少更好的词(目标被双星号包围):

<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”-titled descendant 的“title”-titled descendant 包含文本“lightning”,将完整标题回显给我。

该死,这令人困惑....有人告诉我使用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 回答