私はPythonを初めて使いました。いくつかの規則でXMLを並べ替えようとしています。
私の例:PythonでXML要素を並べ替え、タグと属性を再帰的に並べ替え
<?xml version="1.0"?>
<data>
<e2 id="3" name="name3">
<e12 num="num12" desc="desc12"/>
<e12 num="num12" desc="desc11"/>
<e11 num="num1" desc="desc1"/>
</e2>
<e2 id="2" name="name2">
<e11 num="num1" desc="desc1"/>
</e2>
<e1 id="1" name="name1">
<e12 num="num12" desc="desc12"/>
<e11 num="num4" desc="desc4"/>
</e1>
</data>
私のルールは以下のとおりです。
1)それぞれの要素
2名でソートすべての属性)タグ名でソート要素
*(属性なしの場合)
* ifタグ属性の順序で同じ名前
私の場合、最初のe1とe2をソートする必要があります。
2つのe2要素があるため、属性名r 1つはid = 2、もう1つはid = 3なので、idの値で順序を決める必要があります。
所望の出力XMLは次のようになります。
<?xml version="1.0"?>
<data>
<e1 id="1" name="name1">
<e11 desc="desc4" num="num4"/>
<e12 desc="desc12" num="num12"/>
</e1>
<e2 id="2" name="name2">
<e11 desc="desc1" num="num1"/>
</e2>
<e2 id="3" name="name3">
<e11 num="num1" desc="desc1"/>
<e12 desc="desc11" num="num12"/>
<e12 desc="desc12" num="num12"/>
</e2>
</data>
何かアドバイスやアイデアはどのようにこれを行うには?
ありがとうございます。
ありがとうございます...私はこの例をダイナミックソートに使用できます。属性は同じタイプの要素に対して変更できるためです。 – Deniz