我有一个xml架构,它指定了一个可选字段的默认值...
<xs:element name="expiry" type="xs:positiveInteger" default="86400"/>
我正在使用lxml来解析传入的xml ...
root = lxml.etree.XML(xml)
当我去寻找可选元素时,它不在那里,我得到一个'无'结果......
expiry = root.findtext('expiry')
如何将到期值默认为架构的默认值(86400)?
答案 0 :(得分:1)
无法通过'魔术'来完成。漫漫长路是唯一的方式(今天)。
即:像xml文档一样读取xmlschema,找到属性为“expiry”的元素标记,在该标记中查找属性“default”的值。
答案 1 :(得分:0)
首先,您需要使用lxml.etree.XMLSchema
包含模式我认为它只进行验证,但您可能希望尝试将XML与模式一起解析,并查看是否出现“默认”值。