我用vc6写xml解析程序时发现,如果不引用dtd不管那种编码方式都能正确解析,但如果引用了dtd,则如果编码是gb2312就不能正确解析,IXMLDOMDocument的load出错,但其他编码方式如UTP-8使用dtd后一样能正常解析。但要解析中文的xml文件又必须要用gb2312,不加dtd又不好检验文档,请问是不是msxml不支持中文的dtd啊,还是使用时需要什么步骤?

解决方案 »

  1.   

    中文也可以用UTF-8啊,你把文件保存为UTF-8的格式就可以了
      

  2.   

    在xml文件前面加上
    <?xml version="1.0" encoding="GB2312" ?>
    试试?
      

  3.   

    另外msxml可以在载入后再进行验证,你可以先load进没引用dtd的xml文件,然后自己再载入dtd并对先前载入的文件进行验证(Schema这样我用过,但不知dtd行不行)
      

  4.   

    在引用dtd的情况下,直接用浏览器打开xml文件来看看.是否也提示错误.
    ==========================================
    欢迎使用 Forums Helper 论坛助手(最早的CSDN论坛助手)...  [助您多、快、好、爽上CSDN...]
    语法高亮、发贴、回帖、浏览、搜索、论坛短信、监视更新、自动签名、本地另存!速度极快!
    程序最后更新2004年07月27日   [Powered By ChinaOK]