2013-12-13 25 views
0

我有這樣的XML文檔:如何通過pubDate訂購XML文檔?

<?xml version="1.0" encoding="utf-8"?> 
<timeline> 
    <item> 
    <source>Twitter</source> 
    <author>diarioeconomico</author> 
    <title>EBA p...</title> 
    <description>EBA propõe excepções ao corte dos bónus na banca: Os bancos vão passar a ter a possibilidade de pedir ao regul... http://t.co/8nT6zw3n8D</description> 
    <pubDate>Fri, 13 Dec 2013 14:31:59 GMT</pubDate> 
    <link>https://twitter.com/diarioeconomico/status/411503771475116033</link> 
    </item> 
</timeline> 

如何訂購通過pubDate有多個「項目」這個XML文檔?

在此先感謝

回答

1
XDocument doc = XDocument.Load(yourfile.xml); 
string format = "ddd, dd MMM yyyy hh:mm:ss zzz"; 
var elements = 
     doc.Descendants("item") 
      .OrderBy(i => DateTime.ParseExact(i.Element("pubDate").Value, 
              format, 
              CultureInfo.InvariantCulture); 
0

在閱讀它作爲一個XDocument,替換排序版本的子元素,並將其保存回。

var path = @"c:\path\to\file.xml"; 
var doc = XDocument.Load(path); 
doc.Root.ReplaceNodes(
    from e in doc.Root.Elements() 
    orderby (DateTime)e.Element("pubDate") 
    select e); 
doc.Save(path); 
0
XDocment doc=XDocument.Load(path); 
var elements=doc.Element("timeline") 
       .Elements("item") 
       .OrderBy(x=>DateTime.Parse(x.Element("pubDate").Value)); 
var root=new XElement("timeline",elements); 
root.Save(path);