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

时间:2012-05-10 15:11:11

标签: python xml-parsing

我一直在处理Python script来解析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>

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

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

我已经解决了XML问题,因为我已经使用过了,但是我如何存储解析并按照这样的方式输出它而不是一行来自XML;

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

使用词典最好吗?那么如何才能访问来自每个类/函数外部的所有单独集合的数据?

1 个答案:

答案 0 :(得分:5)

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