写xml文档代码:
public static void WriteRetionProvince()
        {
            string[] s = wt.getRegionProvince();
            string[] s2 = new string[2];
            XmlWriterSettings settings = new XmlWriterSettings();
            settings.ConformanceLevel = ConformanceLevel.Fragment ;
            settings.Indent = true;
            settings.NewLineOnAttributes = true;
            XmlWriter writer = XmlWriter.Create("data//Province.xml",settings );
            writer.WriteStartElement("Area");
            
            foreach (string s1 in s)
            {
                s2 = Regex.Split(s1, ",");
                writer.WriteStartElement("Provience");
                writer.WriteElementString ("name",s2[0]);
                writer.WriteElementString ("Id",s2[1]);
                writer.WriteEndElement ();
                
            }
            writer.WriteEndElement();
            writer.Flush();
            writer.Close();
            
        }
xml文档内容:
<Area>
  <Provience>
    <name>黑龙江</name>
    <Id>3113</Id>
  </Provience>
  <Provience>
    <name>吉林</name>
    <Id>3114</Id>
  </Provience>
  <Provience>
    <name>辽宁</name>
    <Id>3115</Id>
  </Provience>
  <Provience>
    <name>内蒙古</name>
    <Id>3116</Id>
  </Provience>
  <Provience>
    <name>河北</name>
    <Id>3117</Id>
  </Provience>
</Area>
读xml文档代码:
public static DataSet ConvertXMLToDataSet(string xmlData)
        {
            StringReader stream = null;
            XmlTextReader reader = null;
            xmlData = xmlData.Trim();
            try
            {
                DataSet xmlDS = new DataSet();
                stream = new StringReader(xmlData);
                reader = new XmlTextReader(stream);
                xmlDS.ReadXml(reader,XmlReadMode.Fragment  );////////错误处在这里[
                return xmlDS;
            }
            catch (System.Exception ex)
            {
                throw new Exception ( ex.Message );
            }
            finally
            {
                if (reader != null) reader.Close();
            }
        }

解决方案 »

  1.   

    写入代码中在加上writer.WriteProcessingInstruction ("xml", "version = \"1.0\"");
      

  2.   

    没有xml文件头
    <?xml version="1.0" encoding="UTF-8"?>
      

  3.   

    不是有xml类么...
      为什么还用stream  你的xml文件确认没有错误的话, 你可以这样读:  XmlDocument xml = new XmlDocument();
      xml.Load(@"c:\xx.xml");
      XmlNode node = xml.DocumentElement();
      if(node.Name!="Area")
          return ;
      foreach(XmlNode n in node.ChildNodes)
      {
          // n.InnerText 是你要读的内容..
           // 你可以对这些内容 做一些操作..
          
      }   是否是LZ 想要的效果`?
       手敲代码 . 有点小错误 调调.
      

  4.   

    有中文的话要用
    <?xml version="1.0" encoding="gb2312"?> 
      

  5.   

    而且 你的xml格式 好像不符合ReadXml的格式
    建议 你先读一个表,然后把它转成xml格式,看看应该是什么格式的