使用xmlwrite时除去xmlns行

时间:2014-08-28 13:37:13

标签: c# xml datatable

我正在处理数据采集应用程序,并且我想使用DataSet类的XML写入方法实现保存项目功能。当我在我的数据表(双精度数,字符串等)中使用原始类型时,XML写入/读取工作正常。但是,当我向我的数据表添加一个自定义类类型列时,XML文件输出将充满包含xmlns,URL等的奇怪行。我知道这是由自定义类引起的,但我怎么能摆脱它们?它使整个XML读取过程非常缓慢。

编辑(只是一个快速草图):

namespace CustomClassXMLExporterTest
{
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        DataSet ds = new DataSet();
        DataTable dt = new DataTable();

        dt.Columns.Add("Name", typeof(string));
        dt.Columns.Add("Result", typeof(Result));

        Result r1 = new Result();

        r1.name = "Somebody";
        r1.value = 0.1234;
        r1.valid = true;

        DataRow dr = dt.NewRow();

        dr["Name"] = "Somebody";
        dr["Result"] = r1;

        dt.Rows.Add(dr);

        ds.Tables.Add(dt);

        ds.WriteXml("C:\\testxml.xml");
    }
}
public class Result
{
    public double value;
    public string name;
    public bool valid;

}
}

输出xml:

 <?xml version="1.0" standalone="yes"?>
 <NewDataSet>
 <Table1>
 <Name>Somebody</Name>
 <Result xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <value>0.1234</value>
   <name>Somebody</name>
   <valid>true</valid>
 </Result>
 </Table1>
 </NewDataSet>

0 个答案:

没有答案