有格式的string转换为DATAtable类,出现错误,如何解决这些的错误?

意想将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;
        }  

Data at the root level is invalid. Line 1, position 1
你的xml不规范,或者和dtd定义不符,缺少根节点。