以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 DOM/SAX/XPath 』  (http://bbs.xml.org.cn/list.asp?boardid=11)
----  求助: Xerces-C++怎么解析不了了  (http://bbs.xml.org.cn/dispbbs.asp?boardid=11&rootid=&id=27252)


--  作者:dongfuye
--  发布时间:2/14/2006 10:41:00 AM

--  求助: Xerces-C++怎么解析不了了
我在使用Xerces-C++的DOMParser对XML文件进行分析时碰见了一个问题:当XML文件中包含有DTD的引用时,结果中的DOM树就是空的了,即使我把验证关了,结果还是一样,这会是什么原因呢?Xerces-C++应该不会出问题啊。如果把文件中的DTD引用去掉时,一切正常;如果该文档类型的定义是使用XML Schema, 那也没有问题。

   下面是XML文件中的一部分:
<!DOCTYPE WMT_MS_Capabilities SYSTEM "http://schemas.opengeospatial.net/wms/1.1.1/capabilities_1_1_1.dtd"
[
<!ELEMENT VendorSpecificCapabilities EMPTY>
]>  <!-- end of DOCTYPE declaration -->
   
   下面是我的解析XML的代码:

  m_pParser->setValidationScheme(AbstractDOMParser::Val_Never);
  m_pParser->setLoadExternalDTD(false);
  m_pParser->setDoNamespaces(0);
  m_pParser->setDoSchema(0);
  m_pParser->setValidationSchemaFullChecking(0);
  m_pParser->setCreateEntityReferenceNodes(0);
  MemBufInputSource input((XMLByte*) (const char*) cap, cap.GetLength(), "wmsclient");
  m_pParser->parse(input);
 
希望大家指点!!!!


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
31.250ms