xpath
  • eventlog-source
  • 2013-02-13 80 views 0 likes 
    0

    我試圖選擇超出特定日期的所有事件日誌條目。到目前爲止,我認爲我得到了平等,但我不知道如何將其改變爲超過指定的日期......迄今爲止如此接近!XPath大於運營商?

    <QueryList> 
        <Query Id="0" Path="Application"> 
        <Select Path="Application">*[System[TimeCreated[@SystemTime='2013-01-01T12:21:25.0000000']]]</Select> 
        </Query> 
    </QueryList> 
    
    +0

    想必這是一個XPath 1.0的問題,因爲在2.0這將是微不足道的。你真的需要說。 – 2013-02-13 21:48:40

    +0

    對不起,XPath專家。查詢將針對Windows Server 2008 R2的事件日誌運行。這有幫助嗎? – codeputer 2013-02-13 22:07:11

    +0

    在Windows上運行有許多不同的XPath處理器,有些支持XPath 2.0,有些則不支持。 XPath 2.0允許在字符串上進行順序比較; XPath 1.0沒有。 – 2013-02-14 21:48:30

    回答

    1

    我發現創造的最好方式EventLog的XPath查詢。有關如何創建自定義視圖,請參閱here。在創建自定義視圖後,只需單擊XML,然後顯示它自己構建的XPath查詢!

    下一個挑戰是格式化日期。我用這個:「yyyy-MM-ddThh:mm:ss:fffZ」

    我也認爲你不能創建一個過濾器,說,在這個日期後顯示我的一切。所以我簡單地重新創建了我想要的日期和當前日期之間的範圍。

    爲了完整起見,這裏是我創建的篩選器(誰這個夢想了規範?)

    <QueryList> 
    <Query Id="0" Path="Application"> 
    <Select Path="Application">*[System[(Level=1 or Level 2 or Level=3) and TimeCreated[@SystemTime&gt;='2013-01-01T12:00:00:000Z' and @SystemTime&lt;='2013-02-13T05:30:34:948Z']]]</Select> 
    </Query> 
    </QueryList> 
    
    1

    使用這樣的事情:

    ​​

    如果您需要考慮整個字符串,然後剝離一切不必要的比較:

    *[System[TimeCreated[ 
        number(translate(@SystemTime, '-T:.', '')) > 201301011221250000000]]] 
    
    +0

    我試圖通過在事件日誌中創建一個視圖並粘貼到XML中。它告訴我有一個錯誤,但沒有別的。我已經嘗試了兩種。但是我注意到>改爲>,這是不對的。我如何防止這種情況發生? – codeputer 2013-02-13 22:08:59

    相關問題