C# 将xml转换为数据表
我在这个模板中得到了一个XML文件C# 将xml转换为数据表,c#,xml,datatables,C#,Xml,Datatables,我在这个模板中得到了一个XML文件 <tests> <x> <a></a> <b></b> <c></c> </x> <y> <a></a> <b></b> <c></c> </y> <z
<tests>
<x>
<a></a>
<b></b>
<c></c>
</x>
<y>
<a></a>
<b></b>
<c></c>
</y>
<z>
<a></a>
<b></b>
<c></c>
</z>
</tests>
我只想将…
中的所有内容转换为数据表
我该怎么做?这是一种方法:
public DataTable CreateDataTable(string fileName)
{
XElement xml = XElement.Load(fileName);
var tempRows = from x in xml.Descendants("x")
select new
{
A = (string)x.Element("a"),
B = (string)x.Element("b"),
C = (string)x.Element("c")
};
DataTable dt = new DataTable();
dt.Columns.Add("a", typeof(string));
dt.Columns.Add("b", typeof(string));
dt.Columns.Add("c", typeof(string));
foreach (var tempRow in tempRows)
{
dt.Rows.Add(tempRow.A, tempRow.B, tempRow.C);
}
return dt;
}
纯javascript是从服务器获取XML frm并对其进行解析:
var xmlData = "<tests><x><a>1</a><b>1</b><c>1</c></x><y><a>2</a><b>2</b><c>2</c></y><z><a>3</a><b>3</b><c>3</c></z></tests>";
$(function(){
var example = $("#example").DataTable({
columns:[{
title: "Row A"
},{
title: "Row B"
},{
title: "Row C"
}]
});
$.ajax({
type: "POST",
dataType: "xml",
url: "/echo/xml/",
data : {
"xml": xmlData,
"delay": 1
},
success: function(xml) {
$(xml).find("tests").children().each(function(k, v){
var abc = [];
abc.push($(v).children("a").text())
abc.push($(v).children("b").text())
abc.push($(v).children("c").text())
example.row.add(abc);
})
example.draw();
}
});
});
var xmlData=“尽管请注意:我已经冒昧地用数据填充了您的XML。您需要向我们展示您所做的尝试,或者您所搜索的内容来引导您达到目的。谢谢!但是如果我的XML看起来像这样呢: