介紹
這里所描述的過程將使你能夠創建一個簡單的基于jQuery / XML的解析器和搜索機制。此過程將通過一個AJAX請求檢索XML,然后在jQuery中分析數據,為搜索機制做準備。該解決方案將基于不區分大小寫的全部或部分關鍵字匹配地返回結果。來自于關鍵字搜索的返回結果設置將被格式化為一個直接鏈接到相應網站的超鏈接。jQuery搜索方法非常類似于Mike Endale的一個項目,不過增加了一個DOM解析器,正則表達式以及結果集分組。
背景
客戶端需要一個簡單的搜索工具來查找基于關鍵字搜索的本地內部網站。關鍵字搜索必須不區分大小寫,并允許返回部分匹配的結果。歸咎于客戶端內容管理系統的架構,因此(SharePoint)只能執行客戶端腳本。其解決方案的另一個障礙是,源數據將來自多個源。數據被存儲在多個Excel電子表格,CSV文件和MS Access數據庫內。這就對我們提出了這樣的需要:開發具有一系列查詢和一個宏的Access解決方案,充當可合并、擦洗,并最后格式化數據作為XML輸出的偽ETL。對于這個解決方案的目的,我們將詳細介紹JavaScript XML分析器的設計,而不是偽Access ETL宏工具的設計。
使用代碼
該解決方案的做法是利用一個簡單的基于JavaScript / XML的搜索來發送數據結果到HTML / JavaScript前端。前端將引用腳本:jQuery,XML和CSS文件。XML格式將因為它的可讀性和它是數據交換行業標準格式之一的事實而被使用。 XML數據將通過使用AJAX的客戶端jQuery解析,并通過Internet Explorer 11呈現。
解決方案將使用RegExp對象來處理關鍵字匹配,驗證和特殊字符處理。RegExp對象字符串將檢查危險語法從而提高解決方案的穩定性和整體可用性。
我們將默認使用JavaScript分組功能來返回匹配結果作為折疊的紀錄集。折疊的記錄集線項目將被URL鏈接到相關的Project Workspace網站。在擴展的組記錄集下,結果將存在于相關的子記錄中,當通過On Click事件展開的時候。