使用SAX/Python解析XML+无验证

使用SAX/Python解析XML+无验证,python,xml,validation,sax,Python,Xml,Validation,Sax,我是python新手,我正在尝试使用SAX解析XML文件,而不进行验证 我的xml文件的头是: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE n:document SYSTEM "schema.dtd"> <n:document.... 但我有一个错误: python doc.py document.xml (...) File "/usr/lib/python2.5/urllib2.py", line 24

我是python新手,我正在尝试使用SAX解析XML文件,而不进行验证

我的xml文件的头是:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE n:document SYSTEM "schema.dtd">
<n:document....
但我有一个错误:

python doc.py document.xml
(...)
  File "/usr/lib/python2.5/urllib2.py", line 244, in get_type
    raise ValueError, "unknown url type: %s" % self.__original
ValueError: unknown url type: schema.dtd
我不希望SAX解析器寻找模式。我错在哪里?
谢谢

expatreader将DTD外部子集视为外部通用实体。因此,您需要的功能是:

parser.setFeature(handler.feature_external_ges, False)

然而,将DTD外部子集指向一个不存在的URL有点狡猾;如图所示,不仅仅是验证读取DTD的解析器。

expatreader将DTD外部子集视为外部通用实体。因此,您需要的功能是:

parser.setFeature(handler.feature_external_ges, False)

然而,将DTD外部子集指向一个不存在的URL有点狡猾;如图所示,这不仅仅是验证读取它的解析器。

这并没有解决问题。我仍然获得ValueError未知url类型。可能在python3中发生了某些更改。@如果您有某种情况,例如可能需要使用实际的回车替换\n,则此操作不起作用。@16num抱歉,我甚至不记得此问题的上下文。这并不能解决问题。我仍然获得ValueError未知url类型。可能在python3中发生了一些更改。@如果您有某种情况,例如可能需要用实际的回车符替换\n,则此操作不起作用。@16num抱歉,我甚至不记得此问题的上下文了。