-1

XMLを解析し、そこから新しいファイルを作成するPython スクリプトに取り組んできました。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>

これの問題は、一度に各行を単純に読み取り、タグに応じて行を出力することです。すべてが読み取られた後に使用するために、各要素のデータをどのように保存できますか?

1 つは XML を解析するクラス、もう 1 つは解析中に保存されたすべての情報を使用して各ステージのファイルを作成するクラスです。

私はすでにそれを扱っているので、XMLの解析に問題はありませんが、XMLから一度に1行ずつではなく、解析したものを保存してこのように出力するにはどうすればよいですか。

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 に答える