我正在尝试查找具有一系列值中属性的XML
元素。
我可以使用$(xml).find("line[l=855]").text()
选择具有EXACT属性值的XML元素,即:l =“855”,但我希望能够通过给出一个范围来找到该元素值,例如850 -860,这样它将找到855并返回该元素的值。
以下是我正在使用的示例:
$(document).ready(function () {
var xml = '<par><line baseline="849" l="855" t="815" r="1042" b="848"><formatting lang="EnglishUnitedStates" ff="Courier New" fs="9." spacing="-6" scaling="876"><charParams l="855" t="816" r="873" b="845" wordStart="true" wordFromDictionary="false" wordNormal="false" wordNumeric="true" wordIdentifier="false" wordPenalty="0" meanStrokeWidth="40" charConfidence="59" serifProbability="255">0</charParams></formatting></line></par>';
var ocrResult = $(xml).find("line[l=855]").text();
$("#result").append(ocrResult);
});
JSFiddle:http://jsfiddle.net/Dgras/2/
答案 0 :(得分:0)
为什么不为此使用过滤器:
$(document).ready(function () {
var xml = '<par><line baseline="849" l="855" t="815" r="1042" b="848"><formatting lang="EnglishUnitedStates" ff="Courier New" fs="9." spacing="-6" scaling="876"><charParams l="855" t="816" r="873" b="845" wordStart="true" wordFromDictionary="false" wordNormal="false" wordNumeric="true" wordIdentifier="false" wordPenalty="0" meanStrokeWidth="40" charConfidence="59" serifProbability="255">0</charParams></formatting></line></par>';
var range = [850, 860];
var ocrResult = $(xml).find("line").filter(function(){ return parseInt($(this).attr('l')) >= range[0] && parseInt($(this).attr('l')) <= range[1] }).text();
$("#result").append(ocrResult);
});
这是更新的小提琴:http://jsfiddle.net/Dgras/3/