在将解析的XML写入文件之前存储解析的XML的最佳方法是什么?

mar*_*er_ -1 python xml-parsing

我一直在研究一个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>
Run Code Online (Sandbox Code Playgroud)

这个问题是它只是一次读取每一行并根据标签输出该行.为了在读完所有内容后使用它,如何为每个元素存储数据?

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

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

if gender == F:
    import engineclass_database
    eeid = engineclass_validation.femaleCheck(dob, femaleAgeBracket, todaysDate)
else:
Run Code Online (Sandbox Code Playgroud)

使用词典最好吗?然后,如何访问来自每个类/函数外部的所有这些单独集合的数据?

Mar*_*cin 5

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