请问,我使用一下方式生成XML文件,
XmlTextWriter objXmlTW = new XmlTextWriter( Directory.GetCurrentDirectory()+"/"+strFileName+".xml", Encoding.UTF8);
objXmlTW.Formatting = Formatting.Indented;
objXmlTW.Indentation = 2;
objXmlTW.WriteStartDocument();
objXmlTW.WriteStartElement("Data");但不明白,为什么生成的文件有时会在文件的结尾部分添加一个“”,有时候却不会?

解决方案 »

  1.   

    TO:gt5070073(了了了 www.jobdll.com) 不行哦!如果出现那个符号,当我用
    DataSet paperDataSet=new DataSet();
    paperDataSet.ReadXml(txtDirPath.Text.Trim());这个语句来读的时候就会出现
    “”(十六进制值 0x0F)是无效的字符
    这个错误!
      

  2.   

    我习惯用数据集生成XML文件DataSet dataSet = new DataSet();DataTable dataTable = new DataTable();
    dataSet.Tables.Add(dataTable);dataTable.Columns.Add("ID", typeof(int));
    dataTable.Columns.Add("Name", typeof(string));
    dataTable.Rows.Add(new object[]{1, "aa"});
    dataTable.Rows.Add(new object[]{2, "bb"});dataSet.WriteXml(@"e:\myxml.xml", XmlWriteMode.WriteSchema);
    // 如果不用第二个参数XmlWriteMode.WriteSchema,就不生成表结构框架// 修改文件
    dataSet.ReadXml(@"e:\myxml.xml");
    dataSet.Tables[0].Rows[1]["Name"] = "222";
    dataTable.Rows.Add(new object[]{3, "ccc"});
    dataSet.WriteXml(@"e:\myxml.xml", XmlWriteMode.WriteSchema);
      

  3.   

    TO:chinasdp() 
    如果使嵌套表的话,如何生成DataSet里的Table?
      

  4.   

    这个不碍事的,用ultraedit读一下就知道,一个结尾符号0a 0d有的时候不完整,可能是由于enter的ascii平台相关所应起的
      

  5.   

    TO:jamesfay
    能解释清楚点嘛???再,我需要是再C#中吧它(XML文件)读出来!
      

  6.   

    创建DataRelationDataSet dataSet = new DataSet();DataTable parentTable = new DataTable("Parent");
    parentTable.Columns.Add("ID", typeof(int));
    parentTable.Columns.Add("Name");
    parentTable.Rows.Add(new object[]{1, "aa"});
    parentTable.Rows.Add(new object[]{2, "bb"});DataTable childTable = new DataTable("Child");
    childTable.Columns.Add("PID", typeof(int));
    childTable.Columns.Add("ID", typeof(int));
    childTable.Columns.Add("Name");
    childTable.Rows.Add(new object[]{1, 1, "child of aa 01"});
    childTable.Rows.Add(new object[]{1, 2, "child of aa 02"});
    childTable.Rows.Add(new object[]{1, 3, "child of aa 03"});
    childTable.Rows.Add(new object[]{2, 4, "child of bb 01"});
    childTable.Rows.Add(new object[]{2, 5, "child of bb 02"});
    childTable.Rows.Add(new object[]{1, 6, "child of aa 04"});dataSet.Tables.Add(parentTable);
    dataSet.Tables.Add(childTable);DataRelation dataRelation = new DataRelation("PC", parentTable.Columns["ID"], childTable.Columns["PID"]);
    dataSet.Relations.Add(dataRelation);dataSet.WriteXml(@"e:\myxml.xml", XmlWriteMode.WriteSchema);
      

  7.   

    你每次都是用往同一个文件里写么?试试每次都是写新文件试试
    还有,应该有WriteEndElement和WriteEndDocument方法,是没有贴出来吧
      

  8.   

    TO:chinasdp() 谢谢!
    TO:pyuan(菜鸟)
    每次生成的文件名都是不相同的。
    有WriteEndElement和WriteEndDocument
    XmlTextWriter objXmlTW = new XmlTextWriter( Directory.GetCurrentDirectory()+"/"+strFileName+".xml", Encoding.UTF8);
    objXmlTW.Formatting = Formatting.Indented;
    objXmlTW.Indentation = 2;
    objXmlTW.WriteStartDocument();
    objXmlTW.WriteStartElement("Data");
    objXmlTW.WriteStartElement("No");
    objXmlTW.WriteElementString("PaperID",i.ToString());
    objXmlTW.WriteEndElement();
    objXmlTW.Flush();
    objXmlTW.Close();
      

  9.   

    把原来的txt文件删了重来
    还是这样吗?
    是不是你写入之前文本里面就有空格或者回车造成的
      

  10.   

    再UP一下!to:liuleiqt() 
    不会哦!
    这个符号,是有时候会出现,有时候不会出现!
      

  11.   

    楼主把编码类型去掉试试,不要指定UTF8的编码啊.
    你读文件的代码也没有指定用UTF8的编码呢