-1
私はC#で新しく、リーダ(XMLファイル)の値をテーブルの列に取得する方法について質問したいと思います。私は読者の値を文字列にしたい。私はlistbox1に値を取得しようとしたが、それは動作しますが、それは私が必要とするものではありません。ありがとうございました。C#データテーブルの列のリーダー値
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];
}
}
あなたは、データテーブルに二度同じ列を追加することはできません。 dt.Columns.Add()は、リーダーから最初の行を読み取るときにのみ追加できます。 data.DataSourceコードは削除する必要がありますが、何もしていないのでエラーが発生します。 DataTable dtは一度だけ実行でき、whileループには置かないでください。あなたがリストボックスにデータを入れたので、これは必要ではありません。 – jdweng