Если у вас есть XML в виде строки, вы сможете обернуть его в объект jQuery следующим образом:
var $myXML = $(myXMLString);
Теперь вы можете использовать методы jQuery для обхода и поиска. Например, поищите «кузнец» в своих ячейках:
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
EDIT
Я сделал это немного сложнее:
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
содержит фильтр для вашего имени. Вы можете попробовать превратить это в массив, используя функцию $.makeArray()
, или вы можете перебрать коллекцию, используя функцию .each()
в коллекции.
В любом случае, вы должны иметь доступ к другим полям в строке.