1

XML データを含むテキスト文字列があり (ヘッダー情報はありません)、その要素を含む DataTable を設定しようとしています。エラー メッセージは表示されませんが、DataTable には .ReadXml コマンドの後に 0 行が含まれています。Xml は次のとおりです。

<items>
 <item>
  <Date>05-Feb-2008</Date>
  <User>Unknown</User>
  <Comment>Due date moved</Comment>
  <Restricted>True</Restricted>
 </item>
 <item>
  <Date>07-Nov-2008</Date>
  <User>Unknown</User>
  <Comment>Priority increased. Due date moved to end Oct</Comment>
  <Restricted>False</Restricted>
 </item>
</items>

そして、DataTable を作成するための私のコードは次のとおりです。

Stream xmlStream = new MemoryStream();
StreamWriter writer = new StreamWriter(xmlStream);
string xml = (string)row["XmlComments"];
writer.Write(xml);
writer.Flush();
xmlStream.Position = 0;

DataTable xmlComments = new DataTable();

xmlComments.Columns.Add("User", typeof(string));
xmlComments.Columns.Add("Date", typeof(DateTime));
xmlComments.Columns.Add("Comment", typeof(string));
xmlComments.Columns.Add("OSG_Only", typeof(string));

xmlComments.ReadXml(xmlStream);

ここで私が見逃しているものに誰かが光を当てることができますか?

どうもありがとう

4

1 に答える 1

1

これはうまくいくはずです

DataTable xmlComments = new DataTable();

xmlComments.TableName = "item"; //<---- Added
xmlComments.Columns.Add("User", typeof(string));
xmlComments.Columns.Add("Date", typeof(string)); //<---- Type changed
xmlComments.Columns.Add("Comment", typeof(string));
xmlComments.Columns.Add("Restricted", typeof(string)); //<---- Column name changed

xmlComments.ReadXml(xmlStream);
于 2012-11-28T15:38:17.000 に答える