私のアプリケーションには多くのdatatableがあり、そのうちのいくつかはxmlsからインポートする必要があります。すべてのreadxml関数は、1つを除いてうまく機能します。DataTableはスキーマの推論をサポートしていません
ここにいくつかのXMLコンテンツがあります。
<dtSysStat>
<ST>2017-11-28T21:14:58+03:00</ST>
<INST_ID>1</INST_ID>
<RM>1.34</RM>
<WM>0.04</WM>
<RR>86</RR>
<WR>2</WR>
<TR>0</TR>
</dtSysStat>
ここにdatatable構造体があります。
dtSysStatTemp.Columns.Add("ST", typeof(DateTime));
dtSysStatTemp.Columns.Add("INST_ID", typeof(int));
dtSysStatTemp.Columns.Add("RM", typeof(double));
dtSysStatTemp.Columns.Add("WM", typeof(double));
dtSysStatTemp.Columns.Add("RR", typeof(double));
dtSysStatTemp.Columns.Add("WR", typeof(double));
dtSysStatTemp.Columns.Add("TR", typeof(double));
ここには読んでいるセクションがあります。
また、このxmlをdtsysstatデータテーブル構造から書きます。私はスキーマ構造が同じであると確信しています。
なぜ私は 'DataTableがスキーマの推論をサポートしていません'というエラーを表示しません。 readxmlの他のデータテーブルはすべて完全に動作するからです。
は、私はあなたが例えば、あなたのタグにホワイトスペースを持っていけないことを確認してくださいデータセット
は、なぜ最初の場所でのDataTableを使用できますか?なぜ強く型付けされたオブジェクトではないのですか? – mason
DataSet WriteXmlとDataTable WriteXmlには若干の違いがあります。 DataSetは常に動作します。 DataTableは、DataTableに名前がある場合にのみ機能します。私に理由を聞かないで。 DataSetを読み取るとき、最初のレベルタグはDataSet名です。 2番目のレベルのタグはDataTableの名前です。第3レベルのタグは列名です。第4レベルのタグは行データです。 4つ以上のレイヤーを持つ場合、ネットライブラリはデータを無用な多くのデータテーブルに分割します。同じファイルをDataTableとして読み込もうとすると、複数のデータテーブルを作成できないため、不可能になります。 – jdweng