<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      唉,這也是迫于無奈。當初看Exodus的代碼的時候,還嘲笑他為什么要自己去做那么多XML解析的工作。現在才發現,還真的不得不自己來做。
      XMPP的XML Stream的形式就是一篇XML Document分節發過來。所以理想狀況是這邊接收到一點XML就Push到一個SAX Parser中,然后得到SAX Event把累積的XML交給一個DOM Parser解析出各個XML Stanza。這里一個問題是沒有這樣的SAX Parser允許你收一點那邊做一點的。一般是會讀到了EOF就罷工了的。而且從SAX Event中你也很難得到你要的XML Stanza起始位置和終結位置從而取出XML交給DOM Parser。結果往往是要自己從SAX Event中跳過DOM Parser自己來完成DOM的組裝過程。
      我現在的做法就是從SAX Parser中剝離出tokenizer部分,然后自己來做SAX解析,并且把不能解析的部分留給下一次,與下次Push進來的XML一起做解析。然后自己根據tokenizer取出的token的信息來拼裝簡版的DOM(只有Element和Text,但是對XMPP已經夠用了,不夠再加)。最后的形式就是這邊提供一個Push方法,以及五個事件OnStreamBegin, OnStreamEnd, OnStanza, OnStreamError, OnParserError。
      一開始的時候嘗試過完全自己來寫,發現那些代碼太丑了,還是用別人寫好了的比較好。無論如何,總算避免了完全手工的字符串比對,比Exodus那一套是強得多了。
      posted on 2005-01-20 13:47  taowen  閱讀(896)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲天堂av日韩精品| 久久久久香蕉国产线看观看伊| 亚洲情A成黄在线观看动漫尤物| 欧美日韩欧美| 国产亚洲国产精品二区| 亚洲欧美日韩一区在线观看| 一区二区不卡99精品日韩| 亚洲精品久久久久久下一站| 国产午夜福利视频在线| 2019nv天堂香蕉在线观看| 波多野结衣久久一区二区| 亚洲国产精品高清久久久 | 国产AV影片麻豆精品传媒| 中国少妇嫖妓BBWBBW| 国色精品卡一卡2卡3卡4卡在线| 中文字幕精品亚洲二区| 国精偷拍一区二区三区| 国产超碰无码最新上传| 五月婷婷激情第四季| 国产精品亚洲а∨天堂2021| 国内揄拍国内精品人妻| 欧美性猛交xxxx乱大交丰满| 国产91小视频在线观看| 成人自拍短视频午夜福利| 老妇xxxxx性开放| 国产无遮挡裸体免费久久| 成熟少妇XXXXX高清视频| 中文字幕日韩精品有码| 久热这里只有精品12| 欧美高清精品一区二区| 色狠狠综合天天综合综合| 亚洲精品色无码AV试看| 99久久99这里只有免费费精品| 男女激情一区二区三区| 国产69精品久久久久99尤物| 乱中年女人伦av二区| 久久亚洲精品天天综合网| 国产三级精品三级| 亚洲精品成人片在线观看精品字幕| 国产稚嫩高中生呻吟激情在线视频| 国产成人精品国内自产色|