XPath用于解析性能问题



我将不得不多次调用下面的函数,以显示动态数据(同时显示图形)。为了显示单个图形页面,这个函数将被调用50多次。问题是需要很长时间来解析xml和显示图形页面(如一分钟以上)。

如果需要考虑文件的大小。要解析的第一个xml文件是140kb。第二个xml是8kb。

我可以知道我错在哪里吗?以及如何在这种情况下提高性能。如有任何建议,不胜感激。

function map(md, tls) {

//First xml file parsing    
var melXmlFile = "xml/Mel.xml"
xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", melXmlFile , false);
if (xmlhttp.overrideMimeType) {
xmlhttp.overrideMimeType('text/xml');
}
xmlhttp.send();
xmlDoc = xmlhttp.responseXML;
.....
//Second xml file parsing
var msXmlFile = "xml/Ms.xml"
xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", msXmlFile, false);
if (xmlhttp.overrideMimeType) {
xmlhttp.overrideMimeType('text/xml');
}
xmlhttp.send();
xmlMsDoc = xmlhttp.responseXML;
......
}


或者我应该使用不同的解析风格而不是XPath,以便性能更好?谢谢你。

在每个函数调用中创建两个新的xmlhttprequest来加载和解析两个XML输入文档。正如您在评论中所说的,文档不会在函数调用之间发生变化,您当然可以通过只执行一次两个请求并存储两个文档并让函数对存储的文档执行XPath计算来改进。

最新更新