PYXB:忽略缺少的属性

时间:2014-06-05 16:05:16

标签: python xml pyxb

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

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

我的问题是,即使XML数据中缺少必需的属性,有没有办法仍然解析这个XML数据,即使这个属性丢失了?其余的XML数据是有效的,仍然有用。

1 个答案:

答案 0 :(得分:0)

你可以disable validation。类似下面的内容(摘自测试套件):

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

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