日期:2014-05-16  浏览次数:20872 次

C# XMl转为DataTable 总是自动多出一列 table_id 哪位遇到过?
<?xml version="1.0" standalone="yes"?>
  <Test>
  <table>
    <ReportName>1</ReportName>
    <ReportName>2</ReportName>
    <ReportName>3</ReportName>
    <PrinterName>a</PrinterName>
    <PrinterName>b</PrinterName>
    <PrinterName>c</PrinterName>
 </table> 
 </Test>
这是现在要转的XML,转成Datatable之后 总是自动生成一列table_id  太奇怪了了

哪位遇到过呀 是因为xml嵌套标签的原因吗 ,哪位指点下?
------解决方案--------------------
貌似你转的时候没有设置列名哇,可能需要自己设置下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
namespace Test2
{
    class Program
    {
        static void Main(string[] args)
        {
            //1.将DataTable写入Xml
            List<Person> list = new List<Person> { 
                    new Person(){Id=1,Name="小明"},
                    new Person(){Id=2,Name="小华"}
            };
            DataTable dt = new DataTable("MatrixInfo");
            DataColumn dc1 = new DataColumn("ID");
            DataColumn dc2 = new DataColumn("Name");
            dt.Columns.Add(dc1);
            dt.Columns.Add(dc2);
            foreach(Person p in list){
                DataRow dr = dt.NewRow();
                dr["ID"] = p.Id;
                dr["Name"] = p.Name;
                dt.Rows.Add(dr);
            }
            System.IO.StringWriter writer = new System.IO.StringWriter();
            dt.WriteXml(writer);
            string xmlstr= writer.ToString();
            writer.Close();
            Console.WriteLine(xmlstr);
   &n