0

我正在尝试查找XML具有值范围内的属性的元素。

$(xml).find("line[l=855]").text()我可以选择一个具有 EXACT 属性值的 XML 元素,即: l="855" 通过使用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/

4

1 回答 1

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/

于 2013-08-21T05:31:11.883 回答