<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    何時(shí),紗窗外,風(fēng)搖翠竹

    常用鏈接

    統(tǒng)計(jì)

    最新評(píng)論

    • 1.?re: 慎用AJAX框架
    • AJAX是中國(guó)技術(shù)領(lǐng)域的紅燈區(qū)。。想爽,但又怕潛伏著危險(xiǎn)。。。
    • --阿斯頓飛
    • 2.?re: 慎用AJAX框架
    • 評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
    • --夏如嘏
    • 3.?re: 慎用AJAX框架
    • ajax 要懂的原理,同意樓主,框架慎用
    • --驕傲
    • 4.?re: 慎用AJAX框架
    • @讀書、思考、生活
      2、bug滿天飛,那就說明是水平不到家
      您的水平能高到?jīng)]有bug?
    • --樓主
    • 5.?re: 慎用AJAX框架
    • 只要你懂xmlhttp,為什么非要用ajax呢,我從2000年開始使用xmlhttp,ajax剛出來的時(shí)候看了一眼,冷笑一聲。所以爭(zhēng)論沒有意義,到處都是新瓶裝老酒的故事
    • --挨踢的貨

    使用E4X用簡(jiǎn)單高效的方式操作XML

    ??? 要沒用過E4X,就不知道用這東西處理XML是多簡(jiǎn)單好用!過去在Java中一直是用一些用熟了的組件操作XML,這幾天用Actionscript才發(fā)現(xiàn)了這個(gè)好東西,真是相見恨晚啊,一定要和大家分享一下。

    1. 從Javascript到E4X

    ?? E4X的全稱是 ECMAScript for XML。

    ?? 這里就要先介紹一下ECMAScript,ECMA(歐洲計(jì)算機(jī)工業(yè)協(xié)會(huì),European Computer Manufacturers Association)是個(gè)標(biāo)準(zhǔn)化組織,JavaScript標(biāo)準(zhǔn)就是由它負(fù)責(zé)制定的,簡(jiǎn)單一點(diǎn)說,ECMAScript就是ECMA制定的Javascript標(biāo)準(zhǔn)。

    ?? JavaScript作為一個(gè)優(yōu)秀的腳本語言,從最早Netscape公司提交JavaScript給ECMA制定為標(biāo)準(zhǔn)(ECMA-262)至今得到了長(zhǎng)足的發(fā)展,目前最新版本也是我們用的最廣泛的99年末制定的第三版。但大家都知道XML是98年才開始有W3C標(biāo)準(zhǔn)的,對(duì)于XML這個(gè)剛剛開始竄紅的事物,在ECMAScript第三版中并沒有對(duì)JavaScript操作XML進(jìn)行任何的規(guī)范。沒有規(guī)范,自然是百花齊放,比如我們用的最多微軟的MSXML控件,就是JScript中基于DOM來操作XML的一種方式。這時(shí)就要說到Bea了,這個(gè)在當(dāng)年還不怎么入流卻獨(dú)具慧眼的企業(yè),精心開發(fā)了一套簡(jiǎn)單易用的XML操作模型, 正是看到JavaScript標(biāo)準(zhǔn)中這塊有空白,在2002年的時(shí)候Bea就將這套有非常獨(dú)到之處的提交給EMCA,作為在Javascript中操作XML的擴(kuò)展方案,這就是E4X(ECMAScript for XML)。隨后在眾多廠商參與修繕之后形成了ECMA-357標(biāo)準(zhǔn),目前最新的是2005年12月制定的第二版。關(guān)于這二者的歷史及標(biāo)準(zhǔn)的具體內(nèi)容,可以參考EMCA的資料:

    ? ECMAScript:??? http://www.ecma-international.org/publications/standards/Ecma-262.htm
    ? E4X:?????????????????http://www.ecma-international.org/publications/standards/Ecma-357.htm

    2. E4X簡(jiǎn)介
    ??
    ??? 和傳統(tǒng)的操作方式比,E4X最大的特點(diǎn)就是語法簡(jiǎn)單,直觀,而且高效。這里不做系統(tǒng)的介紹,只用Actionscript 3 語言舉幾個(gè)簡(jiǎn)單的例子,給大家一點(diǎn)直觀的印象(因?yàn)镋4X是個(gè)標(biāo)準(zhǔn),在不同語言中的用法基本都是一樣的)。

    ???創(chuàng)建XML,直接創(chuàng)建即可:?
    ??????? var x = new XML();
    ??????? var x = new XML("<root/>");

    ???賦值, 直接把XML代碼段(注意不是String對(duì)象哦)賦給變量就可以了:??
    ??????? x = <gamescore><username>yourname</username><score>90</score><other><userinfo age="15" gender="man">I am good player</userinfo></other></gamescore>;???????

    ???子節(jié)點(diǎn), 用操作符點(diǎn)".", ["元素名"]進(jìn)行操作, 比如:
    ???????? x.newelement = <newelement/>; //會(huì)為<gamescore>添加一個(gè)<newelement/>的子節(jié)點(diǎn)
    ???????? x["username"] = "Tom";??????? //<username>yourname</username>中yourname的變成Tom
    ???????? x["element" + i ] = i;??????? // i是一個(gè)變量

    ????元素屬性,用"@"符號(hào)代表:
    ??????? x.@version = "1.0";???? //為<gamescore>添加一個(gè)屬性version,<gamescore version="1.0">

    ???在查詢方面,E4X的簡(jiǎn)單強(qiáng)大體現(xiàn)的十分突出。操作符".."代表當(dāng)前節(jié)點(diǎn)下的所有層次, 通配符"*"代表所有節(jié)點(diǎn),"(條件)"表達(dá)式可以對(duì)查詢的結(jié)果用括號(hào)中的條件進(jìn)行過濾等等; 比如:??????
    ????
    ????? //查詢gamescore所有層次的子節(jié)點(diǎn)下屬性age的值為15的<userinfo>節(jié)點(diǎn)。
    ?????? var res:XMLList = gamescore..userinfo.( @age == 15 );
    ?
    ?????? //用正則表達(dá)式做查詢條件
    ?????? var res:XMLList = gamescore.other.userinfo.( /^[0123456789].*/.test(@age) );

    ?? 從這幾個(gè)簡(jiǎn)單的例子中,可以看到通過直接把XML內(nèi)容作為操作對(duì)象,以及使用 ".", ".." 和 "@" 等便捷的訪問操作符,大大的簡(jiǎn)化了xml操作的復(fù)雜度,是我們可以用一種非常直觀的方式操作XML, 讓那些畫蛇添足的封裝操作XML的技術(shù)都見鬼去吧,我們可以用最直接的方式去操作XML了。

    3. E4X現(xiàn)狀
    ?? 前面介紹了E4X是Javascript操作XML的擴(kuò)展標(biāo)準(zhǔn),根據(jù)EMCA官方網(wǎng)站的介紹,E4X也將在下一個(gè)版本中并入ECMAScript。目前來說,Javascript對(duì)E4X標(biāo)準(zhǔn)的實(shí)現(xiàn)還比較有限,只有部分瀏覽器的高版本能支持E4X(比如Firefox 1.5以上)。但E4X作為一個(gè)優(yōu)秀操作XML的解決方案,已經(jīng)被眾多新興的編程語言接受和實(shí)現(xiàn),最典型的便是類似于Javascript的用于Flash編程的Actionscript 3.0。在Java領(lǐng)域,BEA WebLogic 的內(nèi)建JS引擎,Java 6 內(nèi)置的腳本引擎 Rhino 也都實(shí)現(xiàn)了E4X。毫無疑問,E4X這把XML編程的利器,將會(huì)被越來越多的語言、產(chǎn)品支持。

    posted on 2007-03-07 17:33 weidy 閱讀(2681) 評(píng)論(3)  編輯  收藏 所屬分類: WEB & AJAX

    評(píng)論

    # re: 使用E4X用簡(jiǎn)單高效的方式操作XML 2007-03-07 18:39 dennis

    E4X是02年bea等提交的一個(gè)ECMAScript擴(kuò)展標(biāo)準(zhǔn),目前在瀏覽器端好像只有firefox2.0支持,ActionScript倒是搶先了  回復(fù)  更多評(píng)論   

    # re: 使用E4X用簡(jiǎn)單高效的方式操作XML 2007-03-08 10:39 BeanSoft

    可憐, IE 又不給支持了, 要支持也只能再 Vista 里用 IE 8.0 了...  回復(fù)  更多評(píng)論   

    # re: 使用E4X用簡(jiǎn)單高效的方式操作XML 2007-04-10 19:12 kk

    ie 不支持  回復(fù)  更多評(píng)論   

    主站蜘蛛池模板: av午夜福利一片免费看久久| 动漫黄网站免费永久在线观看| 亚洲国产另类久久久精品黑人| 中文字幕无码免费久久| 免费看男女下面日出水视频| 中文字幕在线免费观看视频| 亚洲av无码成h人动漫无遮挡| 亚洲人成在线免费观看| 亚洲一区二区三区国产精华液| 亚洲av无码不卡私人影院| 99精品视频在线观看免费播放| 亚洲国产亚洲综合在线尤物| 日本免费精品一区二区三区| AV在线亚洲男人的天堂| 6080午夜一级毛片免费看| 亚洲AV无码一区二区三区牲色| 亚洲老妈激情一区二区三区| 国产va免费观看| 日日噜噜噜噜夜夜爽亚洲精品| 国产成人精品免费视频动漫 | 在线观看的免费网站无遮挡| 亚洲暴爽av人人爽日日碰| 人人狠狠综合久久亚洲88| 精品少妇人妻AV免费久久洗澡| 美女视频黄a视频全免费网站色窝 美女被cao网站免费看在线看 | 一级毛片a免费播放王色电影 | 国产jizzjizz视频全部免费| 男人j进入女人j内部免费网站| 亚洲精品无码久久久久APP| 亚洲av无码一区二区三区网站| 免费观看亚洲人成网站| 日本人的色道免费网站| 中文字幕一区二区免费| 国产偷国产偷亚洲清高APP| 老汉色老汉首页a亚洲| 亚洲自偷自偷偷色无码中文| 国产成人在线免费观看| 91麻豆最新在线人成免费观看| 免费人成激情视频在线观看冫| 特级aa**毛片免费观看| 亚洲一区二区无码偷拍|