我正在使用 Pyxb 解析一些 XML,并且 XML 中没有必需的属性。我捕获了 MissingAttributeError 异常,它告诉我:
Instance of <class 'TestXML.TEST.CTD_ANON_27'> lacks required attribute how
我的问题是,即使 XML 数据中缺少必需的属性,是否有办法在缺少此属性的情况下仍解析此 XML 数据?其余的 XML 数据是有效的并且仍然有用。
您可以禁用验证。类似于以下内容(摘自测试套件):
xmls = '<Element/>'
pyxb.RequireValidWhenParsing(True)
self.assertRaises(MissingAttributeError, CreateFromDocument, xmls)
pyxb.RequireValidWhenParsing(False)
self.assertFalse(pyxb._ParsingRequiresValid)
instance = CreateFromDocument(xmls)
请注意,PyXB 并非旨在支持处理无效文档,因此生成的绑定可能无法完全反映 XML 的内容。