Xpath运行慢查询

时间:2016-05-18 05:57:38

标签: javascript xml

我使用Xpath和JavaScript查询xml。查询得到的结果却很慢,执行起来需要很长时间。

 var doc = $.parseXML(xml);
doc.xpath("(//NAMESET| //NAMESETFROMDATA) [HANDLE/STRINGVALUE = '" + handle+ "']");

where handle = NameSpaceAssoc::HighlightSet

有人能指出我做了什么以及任何提高其性能的指针吗?

认为自己是JavaScript和xml的新手。

1 个答案:

答案 0 :(得分:0)

如果您想使用xpath在javascript中选择元素,请使用evaluate()方法。为了更好地理解,请参阅this

要按evaluate()选择元素,您必须在select path中以小写形式写入标记名称,因为浏览器会将标记名称和属性中的每个大写字母转换为小写。为了更好地理解,请参阅this

var document = "Your xml document";
var handle = "NameSpaceAssoc::HighlightSet";
var path = "(//objectset | //objectsetfromdata) [handle/stringvalue = '" + handle + "']";
var query = document.evaluate(path, doc, null, XPathResult.ANY_TYPE, null);

您可以使用此代码计算代码的执行时间

var startDate = new Date().getTime();

// Your code

var endDate = new Date().getTime();
var executeTime = endDate - startDate;

我检查代码的执行时间,这是对的。

请参阅 jsfiddle

中的完整示例