-1
Я новичок в C#, и я хотел бы спросить, как можно получить значение читателя (XML-файла) в столбец таблицы. Я хочу, чтобы значение читателя было строкой. Я попытался получить значение в listbox1, и он работает, но это не то, что мне нужно. Спасибо.Значение C# Reader в столбцах Datatable
private void button1_Click(object sender, EventArgs e)
{
string file;
OpenFileDialog ofd = new OpenFileDialog();
if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK) ;
file= ofd.FileName;
XmlTextReader reader = new XmlTextReader(file);
XmlNodeType type;
DataSet dsload = new DataSet();
dsload.ReadXml(file);
while (reader.Read())
{
if (reader.Name == "name")
{
reader.Read();
listBox1.Items.Add(reader.Value);
DataTable dt = new DataTable("MyTable");
dt.Columns.Add(new DataColumn("Name", typeof(string)));
data.DataSource = dsload.Tables[0];
}
}
Вы не можете добавлять один и тот же столбец дважды в DataTable. Dt.Columns.Add() может быть добавлен только при чтении первой строки из читателя. Код data.DataSource, который должен быть удален, ничего не делает и вызовет ошибки. DataTable dt может быть выполнен только один раз и не должен находиться в цикле while. Это не нужно, поскольку вы вводите данные в список. – jdweng