-1

我一直在研究一个Python 脚本来解析XML并从中创建一个新文件。下面是 XML 结构的简单概述:

<script>
    <stage id="stage1">
        <init>
            <variable id="year" value="2012" type="Integer"/>
            <variable id="femaleCloseDate" value="06/04/1955" type="Date"/>
            <variable id="runFemaleCheck" value="True" type="Boolean"/>
            <if>
                <condition><![CDATA[$gender$ == "F"]]></condition>
                <then>
                    <executeMethod class="engineclass_validation" method="femaleCheck">
                        <arguments>
                            <variable id="dob"/>
                            <variable id="femaleAgeBracket"/>
                            <variable id="todaysDate"/>
                        </arguments>
                        <return>
                            <variable id="femalePensionAgeCheck"/>
                        </return>
                    </executeMethod>
                </then>
            </if>
        </init>
        <execute>
            # same stuff as init
        </execute>
    </stage>

这样做的问题是它只是一次读取每一行并根据标签输出该行。如何为每个元素存储数据以便在读取所有内容后使用它?

我想我可以有两个类,一个用于解析 XML,另一个用于使用解析期间存储的所有信息为每个阶段创建一个文件。

解析 XML 没有问题,因为我已经在使用它,但是我如何存储解析的内容并像这样输出它,而不是一次从 XML 中输出一行;

if gender == F:
    import engineclass_database
    eeid = engineclass_validation.femaleCheck(dob, femaleAgeBracket, todaysDate)
else:

这最好用字典来完成吗?那么如何访问来自每个类/函数外部的所有这些单独集合的数据?

4

1 回答 1

5

使用 xml 解析器(我建议使用 lxml)来加载您的 xml,并创建新的 DOM 树。

于 2012-05-10T15:14:21.960 回答