我写了一段 读取数据的代码 但是 必须要指定根节点是什么才可以:
 public class XmlParse
    {
        public INodeBuilder NodeBuilder;        public bool Parse(string FilePath)
        {
            try
            {
                XmlDocument Xmldoc = new XmlDocument();
                Xmldoc.Load(FilePath);
                XmlNodeList Nodelist = Xmldoc.SelectSingleNode("Group").ChildNodes;                foreach (XmlNode XNode in Nodelist)
                {
                    NodeBuilder.CreateNode(XNode);
                }
            }
            catch
            {
                //log
                return false;
            }
            return true;
        }
    }如果其他文件的根节点不是"Group"就麻烦了  请各位大虾指导一下该怎么读取任何XML的内容 
想用一种方法读取这两种 或者 多种 根节点不同的 xml文件
下面是两种 xml文件的内容:
1)
<?xml version="1.0" encoding="utf-8"?>
<Group>
  <Patients ID = "001">
    <Last_Name>jay</Last_Name>
    <First_Name>hoho</First_Name>
    <MI>0091</MI>
  </Patients>
    <Patients ID = "002">
    <Last_Name>tanaka</Last_Name>
    <First_Name>Honda</First_Name>
    <MI>0121</MI>
  </Patients> 
</Group>2)
<?xml version="1.0"?>
<Site xmlns:xsi="http://www.w3.org/">
  <SiteID>1</SiteID>
  <SiteName>Center Hospital</SiteName>
  <SiteLocation>Chicago</SiteLocation>
</Site>

解决方案 »

  1.   

    那样的话 通用性不太好了 我想着是 就FilePath 去解析 至于内容是什么 根节点是什么 他都能给我正确的解析出来。如果我要读取10种甚至更多种 根节点都不相同的xml 我就要分别判断好多次 感觉很麻烦。呵呵
      

  2.   

    XmlNode root = doc.DocumentElement;
    root就是XML文件的根节点
    不需要参数名就可以得到,一个XML文件只有一个根节点
      

  3.   

    那我把代码改写成下面这样是不是就可以了?:
    try 
                { 
                    XmlDocument Xmldoc = new XmlDocument(); 
                    Xmldoc.Load(FilePath); 
                    XmlNodeList Nodelist = Xmldoc.DocumentElement;                 foreach (XmlNode XNode in Nodelist) 
                    { 
                        NodeBuilder.CreateNode(XNode); 
                    } 
                } 如果不对请指出哪些错了 谢谢了
      

  4.   

    http://topic.csdn.net/u/20091126/13/7a8003f0-d3c9-4e4d-be19-95c7200c719b.html