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 閱讀(272) 評論(0)  編輯  收藏 所屬分類: XML

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


          網站導航:
           

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

          常用鏈接

          留言簿(1)

          隨筆分類(6)

          隨筆檔案(11)

          文章分類(30)

          文章檔案(34)

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 阜南县| 收藏| 花莲县| 萍乡市| 阜南县| 新乐市| 阿拉善右旗| 边坝县| 英德市| 博白县| 瑞金市| 九寨沟县| 高青县| 揭西县| 金山区| 娱乐| 晋宁县| 和龙市| 四子王旗| 西城区| 泸水县| 苏尼特右旗| 色达县| 澜沧| 汤原县| 双流县| 延边| 苍南县| 定安县| 若羌县| 临汾市| 南汇区| 尤溪县| 蒙自县| 康乐县| 璧山县| 恩施市| 马鞍山市| 深州市| 陕西省| 英超|