读取XML文件问题,需要能够兼容多种不同格式的xml文件读取

需要可以兼容读取多种不同的XML文件

img

文件里面的层级会非常多可能会达到6、7层。目前我所能想到的是用Xml.Linq来实现但是这个只能针对具体的文件不能泛用,按照下面贴的忙代码来其他文件的话又要重复这个工作,维护会比较麻烦。哪位对xml了解比较多的朋友指点一下。

img


```c#
 #region 读取所有的数据

            XNamespace nsCommon = "http://www.joia.or.jp/standardized/namespaces/Common";
            XNamespace nsTM = "http://www.joia.or.jp/standardized/namespaces/TM";

            XElement xe = XElement.Load(@"D:\192.168.1.214\TOP.xml");
            var elements = from ele in xe.Elements()
                           select ele;
            foreach (var ele in elements)
            {
                if (ele.Name.LocalName == "Common" && ele.Name.NamespaceName == nsCommon)
                {
                    var Date = (ele.Descendants(nsCommon + "Date").FirstOrDefault()).Value;
                    var Time = (ele.Descendants(nsCommon + "Time").FirstOrDefault()).Value;
                }
                if (ele.Name.LocalName == "Measure" && ele.Name.NamespaceName == nsTM)
                {
                    var nstm = ele.Descendants(nsTM + "TM");
                    foreach (var item in nstm)
                    {
                        var nstmR = item.Descendants(nsTM + "R");
                        foreach (var itemR in nstmR)
                        {
                            if (itemR.Name.LocalName == "R" && itemR.Name.NamespaceName == nsTM)
                            {
                                var AverageR = (itemR.Descendants(nsTM + "Average").FirstOrDefault()).Value;
                            }
                        }
                        var nstmL = item.Descendants(nsTM + "L");
                        foreach (var itemL in nstmL)
                        {
                            if (itemL.Name.LocalName == "L" && itemL.Name.NamespaceName == nsTM)
                            {
                                var AverageL = (itemL.Descendants(nsTM + "Average").FirstOrDefault()).Value;
                            }
                        }

                    }
                }
            }


            #endregion 读取所有的数据


调用XMLparse库?