0

我正在使用 Pyxb 解析一些 XML,并且 XML 中没有必需的属性。我捕获了 MissingAttributeError 异常,它告诉我:

Instance of <class 'TestXML.TEST.CTD_ANON_27'> lacks required attribute how

我的问题是,即使 XML 数据中缺少必需的属性,是否有办法在缺少此属性的情况下仍解析此 XML 数据?其余的 XML 数据是有效的并且仍然有用。

4

1 回答 1

0

您可以禁用验证。类似于以下内容(摘自测试套件):

xmls = '<Element/>'
pyxb.RequireValidWhenParsing(True)
self.assertRaises(MissingAttributeError, CreateFromDocument, xmls)
pyxb.RequireValidWhenParsing(False)
self.assertFalse(pyxb._ParsingRequiresValid)
instance = CreateFromDocument(xmls)

请注意,PyXB 并非旨在支持处理无效文档,因此生成的绑定可能无法完全反映 XML 的内容。

于 2014-06-06T01:15:14.743 回答