posts - 12,  comments - 2,  trackbacks - 0
          使用dtdparser解析中文dtd

          盡管有一些不足,wutka dtdparser 仍然是使用最廣泛的java dtd dom解析器。

          其它可用的java dtd parser有 Ronald Bourret DTD ParserMatra DTD parser

          要在DTD中使用中文,必須要在dtd文件的第一行寫上

          <?xml version="1.0" encoding="UTF-8"?>

          并且將dtd文件以utf-8格式保存。別的編碼格式也可以試試,但我不想冒險。

          dtdparser不使用這個encoding指示來解析DTD,我們只能自己想辦法,修改它的代碼。

          dtdparser有這些構造器(省略了帶trace的)

          DTDParser(java.io.File in)
          DTDParser(java.io.Reader in)
          DTDParser(java.net.URL in)

          其中以Reader為參數的沒有編碼問題,因為reader本身已經指定了字符集。

          以File為參數的構造器內部使用了new FileReader(in),這個方式使用系統默認字符集,不要用它,可以用FileInputStream和InputStreamReader來指定字符集,傳遞給以Reader為參數的構造器。

          以URL為參數的構造器內部使用了new InputStreamReader(in.openStream()),沒有指定字符集,我們可以給它增加一個帶有String charsetName參數的構造器,內部調用new InputStreamReader(in.openStream(), charsetName)

          posted on 2008-06-20 11:35 doodoosun 閱讀(271) 評論(0)  編輯  收藏 所屬分類: XML

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          常用鏈接

          留言簿(1)

          隨筆分類(6)

          隨筆檔案(11)

          文章分類(30)

          文章檔案(34)

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 太湖县| 弋阳县| 黄山市| 南通市| 巴林左旗| 吐鲁番市| 云和县| 温宿县| 曲阳县| 阳新县| 邵阳县| 台山市| 九龙县| 宝鸡市| 紫金县| 南漳县| 柳林县| 城口县| 政和县| 海淀区| 德州市| 花莲县| 安达市| 旬阳县| 安泽县| 德保县| 秀山| 五河县| 五指山市| 河东区| 调兵山市| 荆门市| 紫金县| 娄底市| 丹江口市| 陆丰市| 彭州市| 富顺县| 宜都市| 伊金霍洛旗| 库尔勒市|