Javascript 从XML提取数据并将其放置在HTML表中

Javascript 从XML提取数据并将其放置在HTML表中,javascript,jquery,xml,Javascript,Jquery,Xml,我不是编码专家,所以需要你的帮助 我有一个XML文件作为字符串变量存储在$(XML)变量中,如下代码所示 我能够解析这个XML文件并按行提取数据,但问题是提取的数据在两个值之间没有空间 此外,我希望提取的数据以5x5的表格格式显示。使用JavaScript/jQuery 谢谢 var xmlString = $(xml).find("table_cell_value1,table_cell_value2,table_cell_value3,table_cell_value4,table_cell

我不是编码专家,所以需要你的帮助

我有一个XML文件作为字符串变量存储在
$(XML)
变量中,如下代码所示

我能够解析这个XML文件并按行提取数据,但问题是提取的数据在两个值之间没有空间

此外,我希望提取的数据以5x5的表格格式显示。使用JavaScript/jQuery

谢谢

var xmlString = $(xml).find("table_cell_value1,table_cell_value2,table_cell_value3,table_cell_value4,table_cell_value5").text();

好的,现在,一步一步走。。首先是xml格式,它应该是以下格式(我想已经是了):



如果您有任何疑问,请随时询问。

Plz详细说明。您在html中有什么以及如何提取。您可以使用JSFIDLE。解析xml后,您的xmlString中有什么?请指定如何提取xml值。它只是从静态html表中提取,形成xml,然后从xml中提取回来,再次形成相同的表。有谁能帮我贴一把有用的小提琴吗。感谢您必须定义数据的某种结构,比如每列有3个字符的数据,只有这样您才能适当地填充表格,否则就不可能从abcdefghijklabdul获取列数据。但我希望XML以同样的方式创建。请编辑您的答案。不,我不希望表创建是动态的。您想从什么创建xml?这些值来自哪里?它们只是我提供的静态值。没有动态。那么我已经从静态值创建了xml字符串了吗?你想把它做成一个循环还是什么的?非常感谢Abdul。我解决了那个问题。扩展同样的问题,如果我有一个表,该表的id用于唯一标识该表,它的列数为变量no。如何做到这一点?有线索吗?
<root>
    <asset>
        <name></name>
        ...
    </asset>
    <asset>
        <name></name>
        ...
    </asset>
</root>
    var xml = "";
    xml+= '<?xml version= "1.0" encoding="UTF-8"?>';
    xml+= '<root>';
        xml += '<asset>';    
        var index1 = "111";
        xml += '<name>'+index1+'';
        xml += '</name>';

        var index2 = '111';
        xml += '<company>'+index2+'';
        xml += '</company>';

        var index3 = '111'
        xml += '<country>'+index3+'';
        xml += '</country>';

        var index4 = '111'
        xml += '<fname>'+index4+'';
        xml += '</fname>';

        var index5 = '111';
        xml += '<lname>'+index5+'';
        xml += '</lname>';
        xml += '</asset>';

        xml += '<asset>';    
        var index1 = "222";
        xml += '<name>'+index1+'';
        xml += '</name>';

        var index2 = '222';
        xml += '<company>'+index2+'';
        xml += '</company>';

        var index3 = '222'
        xml += '<country>'+index3+'';
        xml += '</country>';

        var index4 = '222'
        xml += '<fname>'+index4+'';
        xml += '</fname>';

        var index5 = '222';
        xml += '<lname>'+index5+'';
        xml += '</lname>';
        xml += '</asset>';      
    xml+= '</root>';
for(var i=0; i<xmlDoc.getElementsByTagName("asset").length; i++) {
    html += '<tr><td>' + xmlDoc.getElementsByTagName("asset")[i].childNodes[0].innerHTML + '</td><td>' + xmlDoc.getElementsByTagName("asset")[i].childNodes[1].innerHTML + '</td><td>' + xmlDoc.getElementsByTagName("asset")[i].childNodes[2].innerHTML + '</td><td>' + xmlDoc.getElementsByTagName("asset")[i].childNodes[3].innerHTML + '</td><td>' + xmlDoc.getElementsByTagName("asset")[i].childNodes[4].innerHTML + '</td></tr>';
    //row construction ends here
    $('#tb tr:last').after(html); //adding row to the table.
    html = "";  //emptying this string after one row has been added to avoid multiple rows to be added in next iteration       
}