使用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
您将拥有与您的查询匹配的行。 filter
function包含您名称的filter。 您可以尝试使用$.makeArray()
函数将其转换为数组,也可以使用集合上的.each()
函数迭代集合。
无论哪种方式,您都应该能够访问行中的其他字段。