gpt4 book ai didi

c# - 如何将 XML 读入 DataTable?

转载 作者:数据小太阳 更新时间:2023-10-29 01:42:54 26 4
gpt4 key购买 nike

我在内存中的 string 中有一些 XML,就像这样:

<symbols>
<symbol>EURCHF</symbol>
<symbol>EURGBP</symbol>
<symbol>EURJPY</symbol>
<symbol>EURUSD</symbol>
</symbols>

我想将其读入DataTable。我是这样做的:

DataTable dt = new DataTable();
dt.TableName = "symbols";
dt.Columns.Add("symbol");

if (!String.IsNullOrEmpty(symbols))
{
dt.ReadXml(new StringReader(symbols));
}

但是,当我检查行数时,DataTable 最终只有零行。我做错了什么?

最佳答案

来自这里:http://www.dreamincode.net/code/snippet3186.htm

// <summary>
/// method for reading an XML file into a DataTable
/// </summary>
/// <param name="file">name (and path) of the XML file</param>
/// <returns></returns>
public DataTable ReadXML(string file)
{
//create the DataTable that will hold the data
DataTable table = new DataTable("XmlData");
try
{
//open the file using a Stream
using(Stream stream = new FileStream(file, FileMode.Open, FileAccess.Read))
{
//create the table with the appropriate column names
table.Columns.Add("Name", typeof(string));
table.Columns.Add("Power", typeof(int));
table.Columns.Add("Location", typeof(string));

//use ReadXml to read the XML stream
table.ReadXml(stream);

//return the results
return table;
}
}
catch (Exception ex)
{
return table;
}
}

您可能想看看 DataTable.ReadXml方法。

编辑:如果内存中有 xml 对象,则可以直接使用 ReadXml 方法。 DataTable.ReadXml(MemoryStream 对象);

编辑 2:我进行了导出。需要以下 XML 架构:

<?xml version="1.0" standalone="yes"?>
<DocumentElement>
<symbols>
<symbol>EURCHF</symbol>
</symbols>
<symbols>
<symbol>EURGBP</symbol>
</symbols>
<symbols>
<symbol>EURJPY</symbol>
</symbols>
</DocumentElement>

关于c# - 如何将 XML 读入 DataTable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4461123/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com