110,534
社区成员
发帖
与我相关
我的任务
分享
<?xml version="1.0" encoding="utf-8" ?>
<xml>
<rows>
<row date="2011-09-15" num="1" />
<row date="2011-09-16" num="2" />
<row date="2011-09-17" num="3" />
<row date="2011-09-18" num="4" />
<row date="2011-09-19" num="5" />
<row date="2011-09-20" num="6" />
</rows>
</xml>
XmlDocument xml = new XmlDocument();
xml.Load("D:\\1.xml");
String s = String.Format("xml/rows/row[@date>'{0}']", DateTime.Now.ToString("yyyy-MM-dd"));
XmlNodeList nodes = xml.SelectNodes(s);
Console.WriteLine(nodes.Count);
foeach(XmlNode node in xml.SelectNodes("xml/rows/row"))
if(node.Attributes["date"].Value.CompareTo(DateTime.Now.ToString("yyyy-MM-dd")) > 0)
nodeList.Add(node);
/*
2011-09-17
2011-09-18
2011-09-19
2011-09-20
*/
FileStream fs = new FileStream(@"E:\1.xml", FileMode.Open, FileAccess.Read);
DataSet ds = new DataSet();
ds.ReadXml(fs);
DataRow[] row = ds.Tables["row"].Select("date>'" + DateTime.Now.ToString("yyyy-MM-dd") + "'");
foreach (DataRow r in row)
Console.WriteLine(r["date"]);
fs.Close();
fs.Dispose();
XmlDocument xml = new XmlDocument();
xml.Load("D:\\1.xml");
//String s = string.Format("xml/rows/row[@date>'{0}']", DateTime.Now);
List<XmlNode> list = new List<XmlNode>();
XmlNodeList nodes = xml.SelectNodes("xml/rows/row");
foreach (XmlNode node in nodes)
{
if (DateTime.Compare(Convert.ToDateTime(node.Attributes["date"].Value), Convert.ToDateTime( DateTime.Now.ToString("yyyy-MM-dd")))>0)
{
list.Add(node);
}
}
foreach (XmlNode node in list)
{
Console.WriteLine(node.Attributes["date"].Value);
}
var result = xDoc.Descendants("row").Where(xe => xe.Attribute("date").Value.CompareTo(DateTime.Now.ToString("yyyy-MM-dd")) > 0);
//LZ的方法
XmlDocument xml = new XmlDocument();
xml.Load("D:\\1.xml");
IEnumerable<XmlNode> nodes = xml.SelectNodes("xml/rows/row")
.Cast<XmlNode>()
.Where(node => node.Attributes["date"].Value.CompareTo(DateTime.Now.ToString("yyyy-MM-dd")) > 0);
Console.WriteLine(nodes.Count);
string xmlSource = @"<?xml version=""1.0"" encoding=""utf-8"" ?>
<xml>
<rows>
<row date=""2011-09-15"" num=""1"" />
<row date=""2011-09-16"" num=""2"" />
<row date=""2011-09-17"" num=""3"" />
<row date=""2011-09-18"" num=""4"" />
<row date=""2011-09-19"" num=""5"" />
<row date=""2011-09-20"" num=""6"" />
</rows>
</xml>";
XDocument xDoc = XDocument.Parse(xmlSource);
var result = xDoc.Descendants("row").Where(xe => DateTime.Parse(xe.Attribute("date").Value) > DateTime.Now);
result.ToList().ForEach(xe => Response.Write(xe.Attribute("date").Value + " "));
/*
2011-09-17 2011-09-18 2011-09-19 2011-09-20
*/
String s = String.Format("xml/rows/row[@date>'{0}']", DateTime.Now;