快速而高效地搜尋XML資料

2021-08-25 17:58:12 字數 1356 閱讀 2979

[url]

專案組中,大多數人喜歡使用xml作為資料交接橋梁,常會碰到對xml進行大批量搜尋與提取,比如下面的xml檔案:

xml/html**

var xml:xml=

;

我想提取id大於20的資料,你會怎麼做?

用for和 if 迴圈判斷id>20,如果你真是這樣做的,看到這篇blog因該感到幸運了!

我有3000條資料,你還用for的話,那是個很吃力的過程了。

1.as3的xml實現了e4x的處理標準,配合xml與xmllist的取值方法可以很靈活地操作xml資料,正確的做法因該是:

as3**

trace(xml.child("*").(@id>20))

/*輸出

*/

當然,也可以這樣寫

as3**

trace(xml.item.@id>20)

使用xml結點名取值,結果是一樣的。

2.接下來,我們還可以針對title進行搜尋,**:

as3**

var xml:xml=

;

var searchkey:string="商創"

trace(xml.child("*").(@title.indexof(searchkey)!=-1));

/*輸出

*/

3.或許你會說我太土了,用indexof進行字元判斷,為什麼不用正則表太式?是的,可以這樣寫

as3**

xml.child("*").(pattern.test(@title));

但這並不是regexp可識別的方法,我們再改下,寫個函式**判斷

as3**

var xml:xml=

;

var searchkey:string="shch"

var pattern:regexp=new regexp(searchkey);

trace(xml.child("*").(regtest(@title)));

function regtest(obj:string):boolean

/*輸出

*/

as3**

*/

如何快速 高效地閱讀文獻資料

1。由點到面。選工作實踐中的疑點,熱點,由乙個小枝節,檢索較全的文獻,一般近期的20 篇左右已經相當多了。之所以不必在意3年以前的,是因為知識更新非常快,且網上能查到的多為近幾年的全文。學習別人是怎麼發現解決問題的。知道目前對這個問題的共同看法,和分歧。然後,擴充套件開,根據興趣和研究的目的,知道,...

高效地Android多渠道快速打包

背景 為了運營的需要,我們需要對投放到市場上的apk安裝包進行特定的標識,然後應用能將自身的渠道資訊上傳到運營後台,以方便運營部門對相應的渠道資料進行處理以及針對性的投放推廣工作。目前android的應用市場有上千個,特別多,所以設計個合理的多渠道打包策略非常重要,能直接影響版本的上線效率。目前的多...

如何在C 中高效地搜尋泛型集合

例如,假設我們有兩個記憶體集合,乙個集合包含city 模型,另乙個集合包含restaurant 模型。我們的系統需要按city 組織 restaurant 這是我們的模型,其中restaurant的cityid屬性用於標識其居住的city 1 public class city24 public s...