![](/img/trans.png)
[英]How to merge corresponding data from elements in an XML file using a FLWOR query?
[英]Query .evtx converted to .xml
在使用 evtx_dump.py 將.evtx 文件轉換為.xml 之后,我試圖學習如何使用 XQuery 查詢它,或者任何有助於我使用 BaseX 對文檔進行數據挖掘的方法。
此時,無論我嘗試什么,我都只能使用 //Events 查詢整個文檔
當我定義諸如 //Events/Event/System/[EventID = '4688'] 之類的路徑時,我得到 0 個結果。
第一個查詢是簡單地跟蹤與特定值匹配的所有特定 EventID。
作為 BaseX 和 XQuery 的新手,我發現文檔很難應用於這個用例。
我尋找工具來幫助我構建 XQuery 無濟於事。
BaseX 啟用了我能找到的所有索引功能。
溴,
喬里斯
當 XQuery 未能返回您所期望的數據時,通常是由存在 XML 命名空間引起的。
Microsoft XML 事件日志在事件節點上使用 XML 命名空間,並由其子節點繼承。 這是您可以在文件中看到的xmlns='http://schemas.microsoft.com/win/2004/08/events/event'
。 例如
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Events><Event xmlns='http://schemas.microsoft.com/win/2004/08/events/event'>
<System><Provider Name='SideBySide'/><EventID Qualifiers='49409'>59</EventID><Version>0</Version>
...
您的 XQuery 必須為此進行調整。 通過說任何命名空間都可以(使用*:
)
//*:System/[*:EventID = '4688']
或通過明確指定預期的命名空間。
declare namespace ns="http://schemas.microsoft.com/win/2004/08/events/event";
/Events/ns:Event/ns:System[ns:EventID= '4688' ]
看到這個類似的問題xquery-not-working-with-namespaces
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.