如果您将 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)");
请参阅示例这个 JSFiddle http://jsfiddle.net/JMeYu/
EDIT
我把它做得更复杂一点:
var $myXML = $(myXMLString);
var $rowMatches = $myXML.filter(function(){
var $cellMatches = $(this).find("cell:contains('smith')");
return $cellMatches.length > 0;
});
alert($rowMatches.length);
(也在这个 JSFiddle http://jsfiddle.net/JMeYu/1/)
现在在你的$rowMatches
您将获得与您的查询匹配的行。这filter
函数包含您的姓名过滤器。您可以尝试使用以下命令将其转换为数组$.makeArray()
函数,或者您可以使用迭代集合.each()
集合上的函数。
无论哪种方式,您都应该能够访问该行中的其他字段。