1

我正在使用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()
4

0 回答 0