PYXB:忽略缺失属性
我正在用Pyxb解析一些XML数据,但发现一个必需的属性在XML里缺失了。我捕捉到了一个叫MissingAttributeError的错误,它告诉我:
Instance of <class 'TestXML.TEST.CTD_ANON_27'> lacks required attribute how
我的问题是,尽管XML数据中缺少了一个必需的属性,是否还有办法解析这些XML数据呢?因为其他的XML数据都是有效的,仍然可以使用。
1 个回答
0
你可以关闭验证。可以像下面这样做(这是测试套件中的一部分):
xmls = '<Element/>'
pyxb.RequireValidWhenParsing(True)
self.assertRaises(MissingAttributeError, CreateFromDocument, xmls)
pyxb.RequireValidWhenParsing(False)
self.assertFalse(pyxb._ParsingRequiresValid)
instance = CreateFromDocument(xmls)
需要注意的是,PyXB 并不打算处理无效的文档,所以生成的绑定可能无法完全反映 XML 的内容。