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