<?xml version="1.0" encoding="utf-8"?>
<blamatrixrix>
<name></name>
<columns number="2">
<column id="title" num="0">Title</column>
<column id="content" num="1">Content</column>
</columns>
<rows number="7"></rows>
<b>Description</b>
<b>Description text here</b>
<b>Some title 1</b>
<b>Some text blabla for Some title 1</b>
<b>Some title 2</b>
<b>Some text blabla for Some title 2</b>
<b>Some title 3</b>
<b>Some text blabla for Some title 3</b>
<b>Some title 4</b>
<b>Some text blabla for Some title 4</b>
<b>Some title 5</b>
<b>Some text blabla for Some title 5</b>
<b>Some title 6</b>
<b>Some text blabla for Some title 6</b>
</blamatrixrix>
我需要将这些数据解析到表格中,以便其他每个内容都可以自己进入,而其他所有内容都是自己的。
最终看起来像这样:
<tr><td>Some title 1</td> <td>Some title 2'</td> <td>Some title 3</td> <td>Some title 4'</td></tr>
<tr><td>Some text 1</td><td>Some text 2</td><td>Some text 3</td><td>Some text 4</td></tr>
我应该怎么做呢?感谢。
编辑:我知道XML不是应该的,但我对此无能为力。我只需要像那样解析它。答案 0 :(得分:0)
首先,您的XML无效:
<b>Description</c>
应该是
<b>Description</b>
和
<bDescription text here</b>
应该是
<b>Description text here</b>
编辑:您还应该考虑将XML结构更改为更合理的内容,例如
<rows number="7">
<row>
<description>Description</description>
<text>Description text here</text>
</row>
...
</rows>
编辑#2:你也可以使用jQuery解析&amp;遍历您的XML,如下所示:
$(xml_string).children().each(function(c) {
// do something
});
甚至更好:
parseXMLValue($(xml_string).find('noniterablenode').text());
...
$(xml_string).find('iterablenode').each(function(e) {
// do something with your iterable elements
});
等,其中parseXMLValue()
是您自己的函数,可以使用特定XML节点的值。
答案 1 :(得分:0)
修复错误后,您可以执行以下操作:
$.ajax(
url: "path/to/file.xml",
type: "GET",
dataType:"xml",
success: function(xml){
var cols = [];
$(xml).find("col").each(function(){
cols.push({
id:$(this).attr('id'),
text:$(this).text()
});
});
$(xml).find("row").each(function(){
var info = "<tr>";
for(var i = 0; i < cols.length; i++) {
info += "<td>" + $(this).find(cols[i].id).text() + "</td>";
}
info += "</tr>";
$("#table").append(info);
});
},
error : function(){ //some code}
});
这适用于以下XML文档。
<?xml version="1.0" encoding="utf-8"?>
<tableinfo>
<columns>
<col id="title">Title</column>
<col id="content">Content</column>
</columns>
<rows>
<row>
<title>test</title>
<content>text content</content>
</row>
<row>
<title>test2</title>
<content>more text content</content>
</row>
</rows>
</tableinfo>