在我当前的项目中,我正在使用 System.IO.Stream 将 xml 文件读入 DataSet。
父节点内有上百条子节点记录,NewDataSet
. 我在下面附加了 XML 模式:
但是,当我对 DataSet 表进行计数时,它只返回 1 个表。
FileStream fileStream = new FileStream(sourceFilePath, FileMode.Open);
try
{
dataSet.ReadXml(fileStream);
if (dataSet.Tables.Count> 0)
{
//dt = dataSet.Tables[0];
for (int i = 0; i < dataSet.Tables.Count; i++)
{
dataTable = dataSet.Tables[i];
if (dataTable != null)
{
SalesHeader salesHeader = new SalesHeader();
salesHeader.OutletCode = dataTable.Rows[i]["OutletCode"].ToString();
salesHeader.TransactionNo = dataTable.Rows[i]["TransactionNo"].ToString();
salesHeader.TransactionDate = Convert.ToDateTime(dataTable.Rows[i]["TransactionDate"]);
salesHeader.ShiftNo = Convert.ToInt16(dataTable.Rows[i]["ShiftNo"]);
salesHeader.TotalAmount = Convert.ToDecimal(dataTable.Rows[i]["TotalAmount"]);
salesHeader.TenderAmount = Convert.ToDecimal(dataTable.Rows[i]["TenderAmount"]);
salesHeader.ChangeAmount = Convert.ToDecimal(dataTable.Rows[i]["ChangeAmount"]);
salesHeader.TransactionStatus = Convert.ToInt16(dataTable.Rows[i]["TransactionStatus"]);
salesHeader.BusinessDate = Convert.ToDateTime(dataTable.Rows[i]["BusinessDate"]);
}
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
fileStream.Close();
}
我认为它只是读取父节点而无法到达子节点。谁能告诉我如何解决这个问题?任何帮助将不胜感激!