我正在使用python 脚本来解析 XML 并从中创建一个 python 文件。
在顶层,XML 看起来像;
<stage id="stage1">
<initialise>
</initialise>
<execute>
</execute>
</stage>
这是完整 XML 的示例。很复杂的东西。
我已经编写了一个解析器来处理大多数事情,但在这种情况下,是否可以检查树是否在 the</initialise>
之前出现<execute>
,以便以不同方式识别。
您可以使用elem[x]
type 方法或 XPath 来做到这一点吗?
<initialise>
<variable id="maxLimit" value="0" type="Integer">
<validate>
<regularExpression></regularExpression>
</validate>
<execute>
</execute>
</variable>
</initialise>
<execute> # treat this differently
抓取执行元素的 Python 如下所示;
def parse_execute(self, elem):
if elem[0].tag == 'required': #or elem[0].tag == 'variable':
self.loop(elem)
else:
self.out('')
self.out('def {0}():'.format(elem.tag))
self.indent()
self.loop(elem)
self.dedent()