根据具有etree / python的父对象,区别对待相同的XML标记?

时间:2012-05-02 13:26:12

标签: python xml elementtree

我正在使用python script来解析XML并从中创建一个python文件。

在顶层,XML看起来像;

<stage id="stage1">
    <initialise>
    </initialise>
    <execute>
    </execute>
</stage>

这是完整XML的sample。相当复杂的东西。

我已经编写了一个解析器来处理大多数事情,但在这个例子中,是否可以检查</initialise>之前<execute>的树,以便识别出来

您可以使用elem[x]类型方法或XPath吗?

执行此操作
<initialise>
    <variable id="maxLimit" value="0" type="Integer">
        <validate>
            <regularExpression></regularExpression>
        </validate>
        <execute>
        </execute>
    </variable>
</initialise>
<execute> # treat this differently

抓取execute元素的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()

0 个答案:

没有答案