2012-10-05 10 views
6

私はXML文書で要素を作成するためにpythonを使用していますし、文書の最初の子として挿入します。任意のXML shouldn」の要素の順序ように、私は私が知っている...になるために...PythonでElementTreeを使用して最初の子としてxml要素を挿入します。

<root> 
    <newChild></newChild> 
    <childA></childA> 
    <childB></childB> 
    <childC></childC> 
</root> 

<root> 
    <childA></childA> 
    <childB></childB> 
    <childC></childC> 
</root> 

を私はこのようなXMLを望むnewChildという名前elmentを作成している場合しかし、xml要素が期待された順序にない場合には壊れる古代のシステム用のxml docを書いているので、その点に関して私は選択肢がありません。

+0

これまでに何を試みましたか?あなたの具体的な問題は何ですか?エラーメッセージとは何ですか?それとも、コードを書くことを期待していますか? – Achim

+0

私の問題の定義は非常に簡潔です。私はその文書を読んだことがあります(正直なところ、最初は適切な答えを見逃していました)。私のニーズに合った文書には何も見つからなかったので、まだ何もコード化していませんでした。 http://stackoverflow.com/questions/4739834/rails-3-routing-to-customer-areas その質問をしたときに、誰かがあなたのコードを書くことを期待しましたか?あなたのエラーメッセージは何ですか? – Dave

答えて

9

xml.etree.ElementTree.Element.insertメソッドを使用すると、特定の位置に挿入された要素に新しいサブ要素を追加できます。

あなたのケースではelement.insert(0, new_sub_element)はすべきことです。

+0

ありがとうございます - 私が探していたものとまったく同じです。私はコピー/ペーストを使用し、挿入メソッドを探すとは思わなかったperlパーサーに慣れています。私は月曜日に仕事に戻り、upvote/acceptをしたときにそれを撃つ。 – Dave

+0

私のPython 2.7ランタイムでは、insertはその位置にある既存のコンポーネントを置き換えます。 この例では、childAはnewChildに置き換えられます – ajeans

関連する問題