有如下XML文件:
<students>
  <team id=1>
    <name>张三</name>
    <name>李四</name>
    <name>王五</name>
  <team>
  <team id=2>
    <name>周杰</name>
    <name>曹操</name>
  <team>
</students>如果这个xml文件直接给DataSet,并显示在DataGridView上,会显示错误...那么如何才能实现对XML文件的修改,使的其变成如下形式:
<students>
  <team id=1>
    <name>张三 李四 王五</name>
  <team>
  <team id=2>
    <name>周杰 曹操</name>
  <team>
</students>最好是来C#,谢谢大家咯...  :)

解决方案 »

  1.   

    你怎么给dataset的?你知道用xmlreader吧。读出来之后,自己转换成你所需要的datatable 表格组织。
      

  2.   

    XmlDocument doc = new XmlDocument();
                doc.Load(@"D:\TestData\1.xml");
                XmlNodeList nodelist = doc.DocumentElement.GetElementsByTagName("team");
                StringBuilder build = new StringBuilder();
                int j = 0;
                foreach (XmlNode node in nodelist)
                {                for (; j < node.ChildNodes.Count; )
                    {
                        if (node.ChildNodes[j].Name == "name")
                        {
                            build.Append(node.ChildNodes[j].InnerText);
                            build.Append(" ");
                            node.RemoveChild(node.ChildNodes[j]);
                            j = 0;
                        }
                        else
                        {
                            j++;
                        }
                    }
                    XmlElement el = doc.CreateElement("name");
                    el.InnerText = build.ToString();
                    node.AppendChild(el);
               }
    doc.Save(@"D:\TestData\1.xml");
      

  3.   

    修改了
    XmlDocument doc = new XmlDocument(); 
                doc.Load(@"D:\TestData\1.xml"); 
                XmlNodeList nodelist = doc.DocumentElement.GetElementsByTagName("team"); 
                StringBuilder build = new StringBuilder(); 
                int j = 0; 
                foreach (XmlNode node in nodelist) 
                {                 for (; j < node.ChildNodes.Count; ) 
                    { 
                        if (node.ChildNodes[j].Name == "name") 
                        { 
                            build.Append(node.ChildNodes[j].InnerText); 
                            build.Append(" "); 
                            node.RemoveChild(node.ChildNodes[j]); 
                            j = 0; 
                        } 
                        else 
                        { 
                            j++; 
                        } 
                    } 
                    XmlElement el = doc.CreateElement("name"); 
                    el.InnerText = build.ToString(); 
                    node.AppendChild(el);
                    build.Remove(0,build.Length);//加这个  
              } 
    doc.Save(@"D:\TestData\1.xml"); 
      

  4.   

    谢谢ljhcy就是这个效果,谢谢了!!  :)