gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 13:31:24 25 4
gpt4 key购买 nike

我有一组数据,它们是保存在 XML 文件中的地名及其位置,如下所示:

<row>
<cell>name</cell>
<cell>location</cell>
</row>

数据是从电子表格中提取出来的,然后保存为 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 似乎没有任何元数据,因此我们无法将搜索限制在特定字段。例如,如果您的单元格有一个“字段名”:

<row>
<cell fieldname='name'>name</cell>
<cell fieldname='location'>location</cell>
</row>

那么你可以使用这个:

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

请参阅 this JSFiddle 中的示例

编辑

我把它做得更复杂一些:

var $myXML = $(myXMLString);

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

alert($rowMatches.length);

(也在 this JSFiddle )

现在在您的 $rowMatches 中,您将拥有与您的查询匹配的行。 filter 函数包含一个针对您姓名的过滤器。您可以尝试使用 $.makeArray() 函数将其转换为数组,或者您可以使用集合上的 .each() 函数遍历集合。

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

关于javascript - 使用 JavaScript 从 XML 文件中搜索和输出数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6648454/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com