-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 コントロールを使用して Windows フォームを実装し、FROM DATE と TO DATE から日付を選択すると、1 つの送信ボタンが表示されます。としてのコード

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 に答える