我使用Xpath和JavaScript查询xml。查询得到的结果却很慢,执行起来需要很长时间。
var doc = $.parseXML(xml);
doc.xpath("(//NAMESET| //NAMESETFROMDATA) [HANDLE/STRINGVALUE = '" + handle+ "']");
where handle = NameSpaceAssoc::HighlightSet
有人能指出我做了什么以及任何提高其性能的指针吗?
认为自己是JavaScript和xml的新手。
答案 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
中的完整示例