<?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("---------------------");
}
}
|