意想将txt文件的内容转换为列表格式。
以下两处标记的地方出现了错误,分别是:
1、System.Xml.XmlException:“Data at the root level is invalid. Line 1, position 1.”
2、Input array is longer than the number of columns in this table.(此处将标记1、进行了注释后运行所得。)
/// <summary>
/// string 到 DataTable
/// </summary>
/// <param name="strdata"></param>
/// <returns></returns>
public static DataTable StringToDataTable(string strdata)
{
if (string.IsNullOrEmpty(strdata))
{
return null;
}
DataTable dt = new DataTable();
string[] strSplit = { "@&@" };
string[] strRow = { "#$%" }; //分解行的字符串
string[] strColumn = { "^&*" }; //分解字段的字符串
string[] strArr = strdata.Split(strSplit, StringSplitOptions.None);
StringReader sr = new StringReader(strArr[0]);
dt.ReadXmlSchema(sr); ** //标记1**
sr.Close();
string strTable = strArr[1]; //取表的数据
if (!string.IsNullOrEmpty(strTable))
{
string[] strRows = strTable.Split(strRow, StringSplitOptions.None); //解析成行的字符串数组
for (int rowIndex = 0; rowIndex < strRows.Length; rowIndex++) //行的字符串数组遍历
{
string vsRow = strRows[rowIndex]; //取行的字符串
string[] vsColumns = vsRow.Split(strColumn, StringSplitOptions.None); //解析成字段数组
dt.Rows.Add(vsColumns); **// 标记2**
}
}
return dt;
}