Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 读取600个xml文件时的性能问题_C#_Asp.net_Xml_Linq To Xml_Datalist - Fatal编程技术网

C# 读取600个xml文件时的性能问题

C# 读取600个xml文件时的性能问题,c#,asp.net,xml,linq-to-xml,datalist,C#,Asp.net,Xml,Linq To Xml,Datalist,我阅读了以下600多个xml文件的代码,并从中获得了文章信息。基本上,每个文件都包含一篇文章的信息,包括标题、概要、正文等。我的问题是,循环浏览和获取/显示文章列表需要30秒以上的时间 有人能建议一些关于优化以下代码的提示吗 string[] files = System.IO.Directory.GetFiles(ConfigurationManager.AppSettings["FeedLocation"], "*.xml"); IComparer fileComparer = new He

我阅读了以下600多个xml文件的代码,并从中获得了文章信息。基本上,每个文件都包含一篇文章的信息,包括标题、概要、正文等。我的问题是,循环浏览和获取/显示文章列表需要30秒以上的时间

有人能建议一些关于优化以下代码的提示吗

string[] files = System.IO.Directory.GetFiles(ConfigurationManager.AppSettings["FeedLocation"], "*.xml");
IComparer fileComparer = new Helper.CompareFileByDate();
Array.Sort(files, fileComparer);
List<NewsArticle> ListQuery = new List<NewsArticle>();
foreach (string file in files)
{
    List<NewsArticle> query = new List<NewsArticle>();
    XDocument xmlDoc = XDocument.Load(file);
    var query1 = (from feed in xmlDoc.Descendants("NewsML")
                  select new NewsArticle()
                  {
                      AAPTitle = feed.Descendants("HeadLine").FirstOrDefault().Value.ToString(),
                      AAPSynopsis = (from synopsis in feed.Descendants("Role") where synopsis.Attribute("FormalName").Value == "Abstract" select synopsis.Parent.Element("ContentItem").Element("DataContent").Value).SingleOrDefault().ToString(),
                  }).ToList();

    ListQuery.AddRange(query1);
}
dlAAPArticle.DataSource = ListQuery;
dlAAPArticle.DataBind();

文件有多大?每个文件5-6k,通常不到100行。请尝试分析,看看哪一部分需要花费很多时间,以便我们能够按照要求进行操作。这可能是codereview.stackexchange.com的一个好问题。您应该展示文件的外观。如果没有这些,就很难提出任何优化建议。我假设您并不真的需要子体方法,而是应该使用元素,这至少会给您带来一点性能提升,但在没有看到XML结构的情况下,我不能肯定这一点。