<?xml version="1.0" encoding="UTF-8"?> <Chats> <DateTime value="2011-06-30"> <Message> <FromUserID value="333" />333</FromUserID> <FromUserName value="444" /> <FromUserType value="2" /> <ToUserID value="110" /> <Message value="hihihihihihi" /> <MessgType value="2" /> <SendDataTime value="15:58:00" /> </Message> <Message> <FromUserID value="333" /> <FromUserName value="444" /> <FromUserType value="2" /> <ToUserID value="110" /> <Message value="hihihihihihi" /> <MessgType value="2" /> <SendDataTime value="16:00:00" /> </Message> </DateTime> <DateTime value="2011-07-13"> <Message> <FromUserID value="1" /> <FromUserName value="asdfsaf" /> <FromUserType value="1" /> <ToUserID value="110" /> <Message value="asdfsadf" /> <MessgType value="2" /> <SendDataTime value="2011-07-13 03:30:38" /> </Message> <Message> <FromUserID value="1" /> <FromUserName value="asdfsaf" /> <FromUserType value="2" /> <ToUserID value="110" /> <Message value="asfddd" /> <MessgType value="2" /> <SendDataTime value="2011-07-13 03:31:22" /> </Message> </DateTime> <DateTime value="2011-08-05"> <Message> <FromUserID value="110" /> <FromUserName value="110" /> <FromUserType value="1" /> <ToUserID value="1" /> <Message value="步步步步" /> <MessgType value="2" /> <SendDataTime value="2011-08-05 09:44:09" /> </Message> <Message> <FromUserID value="110" /> <FromUserName value="110" /> <FromUserType value="1" /> <ToUserID value="1" /> <Message value="123456789" /> <MessgType value="2" /> <SendDataTime value="2011-08-05 09:44:42" /> </Message> </DateTime> <DateTime value="2011-08-10"> <Message> <FromUserID value="1" /> <FromUserName value="zuo" /> <FromUserType value="2" /> <ToUserID value="110" /> <Message value="hi" /> <MessgType value="2" /> <SendDataTime value="2011-08-10 09:32:24" /> </Message> <Message> <FromUserID value="110" /> <FromUserName value="110" /> <FromUserType value="1" /> <ToUserID value="1" /> <Message value="你好" /> <MessgType value="2" /> <SendDataTime value="2011-08-10 09:33:00" /> </Message> </DateTime> </Chats> 按DateTime节点,进行时间范围的查询 XmlDocument doc = new XmlDocument(); doc.Load(path); string strDate = DateTime.Now.AddDays(-7).ToString("yyyy-MM-dd"); string strWhere = "/Chats/DateTime[@value > """ + strDate + """ and @value <= """ + DateTime.Now.ToString("yyyy-MM-dd") + """]"; XmlNodeList xnx = doc.SelectNodes(strWhere); foreach (XmlNode partNode in xnx) { foreach (XmlNode xmlNode in partNode.ChildNodes) { //....... } } 以上代码经测试没有找到相应节点集,求高手解答,应如何编写查询条件? |
|
2分 |
限制必须使用XPATH吗?
|
2分 |
好多 嘿嘿 帮顶哈
接分 新手楼猪多照顾下哈 |
不用XPath,应如何处理 |
|
– – 好吧,帮顶有分什么的 |
|
2分 |
linq to xml
|
不用linq成不? |
|
没人回,什么情况?
|
|
20分 |
XDocument xdoc = XDocument.Load(@"D:\test.xml"); //两天内的所有Message节点 var r = from o in xdoc.Elements("Chats").Elements() where DateTime.Now.Subtract(DateTime.Parse(o.Attribute("value").Value)).Days < 2 select o; |
JAVA? 用C#怎么写? |
|
4分 |
这个就是C# |
C# 有var 类型? 好吧,我又无知了,复制到项目里根本不能编译 |
|
.net 2.0 表示压力很大….那几条语句是3.5以上的吧
|
|
70分 |
XmlDocument doc = new XmlDocument(); doc.Load("E:\test.xml"); foreach (XmlNode node in doc.SelectNodes("/Chats/DateTime")) { if ((DateTime.Today - DateTime.Parse(node.Attributes["value"].Value)).Days <= 2) { Console.WriteLine(node.InnerXml); Console.WriteLine("---------------------"); } } |