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有這些構(gòu)造器(省略了帶trace的)

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

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

          以File為參數(shù)的構(gòu)造器內(nèi)部使用了new FileReader(in),這個方式使用系統(tǒng)默認(rèn)字符集,不要用它,可以用FileInputStream和InputStreamReader來指定字符集,傳遞給以Reader為參數(shù)的構(gòu)造器。

          以URL為參數(shù)的構(gòu)造器內(nèi)部使用了new InputStreamReader(in.openStream()),沒有指定字符集,我們可以給它增加一個帶有String charsetName參數(shù)的構(gòu)造器,內(nèi)部調(diào)用new InputStreamReader(in.openStream(), charsetName)

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

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


          網(wǎng)站導(dǎo)航:
           

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

          常用鏈接

          留言簿(1)

          隨筆分類(6)

          隨筆檔案(11)

          文章分類(30)

          文章檔案(34)

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 上栗县| 红安县| 九龙坡区| 秦安县| 盐源县| 合川市| 疏附县| 榆林市| 连平县| 潢川县| 邵武市| 长春市| 拜城县| 邵东县| 固安县| 榕江县| 磐安县| 屏东市| 红安县| 墨竹工卡县| 固安县| 高密市| 子长县| 阳原县| 宁阳县| 旬邑县| 鸡西市| 时尚| 西乌珠穆沁旗| 弥渡县| 琼结县| 昌吉市| 平罗县| 太保市| 惠水县| 汕头市| 宁国市| 溧水县| 台南市| 周至县| 武夷山市|