[jQuery] Very slow find
[jQuery] Very slow find
Hello,
I get XML answer from server with ~5k lines and I need to parse this data
into the table and display in HTML. I wrote a script to do this job, but
it takes too much time to complete (~35 seconds in opera), what is not I
want. Is there a way to improve this script? Perhaps there is more
effective way to do this.
XML looks like:
<?xml version="1.0" encoding="UTF-8" ?>
<xmldata>
<page>
<name>ebapylibnfwxorjwoeseksnyqumdmxssaduy</name>
<id>5</id>
<url>ojosjkfujggkildmlr</url>
<author>
<id>7</id>
<name>b</name>
</author>
<languages>
<lang>sk</lang>
<lang>cz</lang>
</languages>
</page>
... 500x similar as above
</xmldata>
JS:
...
var table = '<table
class="pagelist"><thead><tr><th>Name</th><th>Author</th><th>Languages</th><th>Actions</th></tr></thead><tbody>';
$(xml).find("page").each(function(i) {
var name = $(this).find("name").text();
var author = $(this).find("author name").text();
var languages = new Array();
$(this).find("languages lang").each(function() {
languages.push($(this).text());
});
languages = languages.join(',');
table += '<tr><td class="first">' + name + '</td><td
class="second">' + author + '</td><td class="third">' + languages +
'</td><td class="fourth"> </td></tr>';
});
table += '</tbody></table>';
$("#content_window_pages").append(table);
...
XML structure can be changed if it helps to speed up the script.
Thanks for any suggestions,
Martin