使用JavaScript从XML文件中搜索和输出数据

我有一组数据,这些数据是地点名称及其位置,保存在XML文件中,如下所示:

 name location  

数据从电子表格中提取,然后保存为XML格式。 现在在XML文件中有数千行,在第一个实例中我们正在查看5k +。 我是否可以根据用户输入使用JavaScript搜索此XML文件,然后在HTML页面上显示此输出? 我还必须支持IE6(这是一个大问题)

我是一个关于XML的总菜鸟,但可以做一些JavaScript和JQuery! 有更简单的方法吗? 我没有使用服务器端语言的选项,也不能使用数据库(我知道很弱)。

提前致谢。

如果您将XML作为字符串,那么您应该能够将它包装到jQuery对象中,如下所示:

 var $myXML = $(myXMLString); 

现在,您可以使用jQuery方法进行遍历和搜索。 例如,在单元格中搜索“smith”:

 var $matches = $myXML.find("cell:contains('smith')"); //'smith' being your user input 

您的XML似乎没有任何元数据,因此我们无法将搜索限制在特定字段中。 如果你的单元格有’fieldname’,例如:

  name location  

然后你可以使用这个:

 var $matches = $myXML.find("cell[fieldname='name']:contains(smith)"); 

请参阅此JSFiddle的示例

编辑

我把它变得更复杂了:

 var $myXML = $(myXMLString); var $rowMatches = $myXML.filter(function(){ var $cellMatches = $(this).find("cell:contains('smith')"); return $cellMatches.length > 0; }); alert($rowMatches.length); 

(也在这个JSFiddle )

现在在$rowMatches您将拥有与您的查询匹配的行。 filterfunction包含您名称的filter。 您可以尝试使用$.makeArray()函数将其转换为数组,也可以使用集合上的.each()函数迭代集合。

无论哪种方式,您都应该能够访问行中的其他字段。