如何在ASP.NET C#中使用stringbuilder获取数据 [英] How to get data using stringbuilder in ASP.NET C#
本文介绍了如何在ASP.NET C#中使用stringbuilder获取数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
从下面的XML我想要这样的数据
Date = 9/1,2018,
Name = abc ,
IntegrationEarningsID10 = -5.96,
IntegrationEarningsID11 = 1.50,
IntegrationEarningsID11 = -49.99,
...像这样
XML: -
Hi, from the below XML i want the data like this
Date=9/1/2018,
Name=abc,
IntegrationEarningsID10=-5.96,
IntegrationEarningsID11=1.50,
IntegrationEarningsID11=-49.99,
....like this
XML:-
<?xml version="1.0" encoding="utf-8"?>
<Players>
<Player>
<Date>9/1/2018</Date>
<Name>abc</Name>
<IntegrationEarnings>
<Integration id="11">-5.96</Integration>
<Integration id="10">1.50</Integration>
<Integration id="12">-49.99</Integration>
<Integration id="10">54.00</Integration>
<Integration id="12">-0.05</Integration>
<Integration id="10">334.00</Integration>
<Integration id="12">-0.14</Integration>
<Integration id="12">101.22</Integration>
<Integration id="11">-18.00</Integration>
<Integration id="12">-0.75</Integration>
</IntegrationEarnings>
</Player>
</Players>
我尝试过:
What I have tried:
StringReader strReader = new StringReader("<?xml version=\"1.0\" encoding=\"utf-8\"?><Players><Player><Date>9/1/2018</Date><Name>abc</Name><IntegrationEarnings><Integration id =\"11\">-5.96</Integration><Integration id =\"10\">1.50</Integration><Integration id = \"12\" >-49.99 </Integration></IntegrationEarnings></Player></Players>");
DataSet ds = new DataSet();
DataTable filteredDt = new DataTable();
ds.ReadXml(strReader);
推荐答案
DataTable dataTable = null;
using (StringReader strReader = new StringReader("<?xml version=\"1.0\" encoding=\"utf-8\"?><Players><Player><Date>9/1/2018</Date><Name>abc</Name><IntegrationEarnings><Integration id =\"11\">-5.96</Integration><Integration id =\"10\">1.50</Integration><Integration id = \"12\" >-49.99 </Integration></IntegrationEarnings></Player></Players>"))
{
DataSet dataSet = new DataSet();
dataSet.ReadXml(strReader);
dataTable = dataSet.Tables[0];
}
FWIW,您可以通过简单的谷歌搜索轻松找到如何做到这一点。
FWIW, you could have easily found out how to do this with a simple google search.
检查:
Check this:
StringReader strReader = new StringReader("<?xml version=\"1.0\" encoding=\"utf-8\"?><Players><Player><Date>9/1/2018</Date><Name>abc</Name><IntegrationEarnings><Integration id =\"11\">-5.96</Integration><Integration id =\"10\">1.50</Integration><Integration id = \"12\" >-49.99 </Integration></IntegrationEarnings></Player></Players>");
XDocument xdoc = XDocument.Load(XmlReader.Create(strReader));
DataTable myData = new DataTable();
myData.Columns.Add(new DataColumn("Field", typeof(string)));
myData.Columns.Add(new DataColumn("Value", typeof(string)));
myData = xdoc.Descendants()
.Where(x=>x.Name !="Player" && x.Name !="Players")
.Select(x=> myData.LoadDataRow(new object[]
{
x.Name + (string)x.Attributes().FirstOrDefault(),
x.Value
}, false))
.CopyToDataTable();
这篇关于如何在ASP.NET C#中使用stringbuilder获取数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文