-1
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<AppXmlLogWritter>    
  <LogData>
    <LogID>5678201301211226306349434819061642515658</LogID>
    <LogDateTime>**20130121**122630</LogDateTime>
    <LogType>Warning</LogType>
    <LogFlag>PMLogFlag</LogFlag>
    <LogApplication>PMLogApplication</LogApplication>
    <LogModule>PMLogModule</LogModule>
    <LogLocation>PMLogLocation</LogLocation>
    <LogText>PMLogText</LogText>
  </LogData>
  <LogData>
    <LogID>5678201301211226306349434819063542617610</LogID>
    <LogDateTime>**20130121**122630</LogDateTime>
    <LogType>Warning</LogType>
    <LogFlag>PMLogFlag</LogFlag>
    <LogApplication>PMLogApplication</LogApplication>
    <LogModule>PMLogModule</LogModule>
    <LogLocation>PMLogLocation</LogLocation>
    <LogText>PMLogText</LogText>
  </LogData>
  <LogData>
    <LogID>5678201301211226306349434819065542731198</LogID>
    <LogDateTime>**20130121**122630</LogDateTime>
    <LogType>Warning</LogType>
    <LogFlag>PMLogFlag</LogFlag>
    <LogApplication>PMLogApplication</LogApplication>
    <LogModule>PMLogModule</LogModule>
    <LogLocation>PMLogLocation</LogLocation>
    <LogText>PMLogText</LogText>
  </LogData>
  <LogData>
    <LogID>5678201301211226306349434819067442849561</LogID>
    <LogDateTime>**20130117**122630</LogDateTime>
    <LogType>Warning</LogType>
    <LogFlag>PMLogFlag</LogFlag>
    <LogApplication>PMLogApplication</LogApplication>
    <LogModule>PMLogModule</LogModule>
    <LogLocation>PMLogLocation</LogLocation>
    <LogText>PMLogText</LogText>
  </LogData>
</AppXmlLogWritter>

从上面的 XmL 文件中,我想读取范围之间的 xml 文档。这样,当我从 FROM DATE 和 TO DATE 选择日期时,我使用 datetimepicker 控件为 From Date 和 To Date 实现 Windows 表单,并从 TO DATE 将日期显示到列表视图中,为此我写了这两个不同的日期代码为

private void btnSubmit_Click(object sender, EventArgs e)
        { 
 XmlElement objXmlRoot = objXmldoc.DocumentElement;
if (chkBoxFromDate.Checked && chkBoxToDate.Checked)
            {
                strXpathQuery = "/AppXmlLogWritter/LogData[LogDateTime >='" +  dateTimePickerFromDate.Value.ToString("yyyyMMdd") + "' and LogDateTime <='" + dateTimePickerToDate.Value.ToString("yyyyMMdd") + "']";
}
} 

我使用此查询来显示数据,但它向我显示空白数据。

4

1 回答 1

0

我有一种似曾相识的感觉。我不是刚给你回答了这个问题吗?

strXpathQuery = "/AppXmlLogWritter/LogData[substring(LogDateTime, 1, 8) > " + 
    dateTimePickerFromDate.Value.ToString("yyyyMMdd") + 
    " and substring(LogDateTime, 1, 8) <= " + 
    dateTimePickerToDate.Value.ToString("yyyyMMdd") + "]";

或者格式更好一点

strXpathQuery = 
   string.Format("/AppXmlLogWritter/LogData[substring(LogDateTime, 1, 8) > {0:yyyyMMdd} and substring(LogDateTime, 1, 8) <= {1:yyyyMMdd}]", 
   dateTimePickerFromDate.Value, dateTimePickerToDate.Value);
于 2013-01-21T13:05:33.237 回答