如何获取xml架构设置的默认值?

时间:2011-06-08 06:47:05

标签: python lxml

我有一个xml架构,它指定了一个可选字段的默认值...

<xs:element name="expiry" type="xs:positiveInteger" default="86400"/>

我正在使用lxml来解析传入的xml ...

root = lxml.etree.XML(xml)

当我去寻找可选元素时,它不在那里,我得到一个'无'结果......

expiry = root.findtext('expiry')

如何将到期值默认为架构的默认值(86400)?

2 个答案:

答案 0 :(得分:1)

无法通过'魔术'来完成。漫漫长路是唯一的方式(今天)。

即:像xml文档一样读取xmlschema,找到属性为“expiry”的元素标记,在该标记中查找属性“default”的值。

答案 1 :(得分:0)

首先,您需要使用lxml.etree.XMLSchema

包含模式

我认为它只进行验证,但您可能希望尝试将XML与模式一起解析,并查看是否出现“默认”值。