2012-10-05 3 views
6

저는 python을 사용하여 XML 문서에 요소를 만든 다음 문서의 첫 번째 자식으로 삽입하고 있습니다. 내가 newChild를라는 elment를 작성한다면 그래서, 난 알아요 ...Python에서 ElementTree를 사용하여 xml 요소를 첫 번째 자식으로 삽입하십시오.

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

가되기 위해 ...

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

을 같은 XML을 원하는 것이 그 임의의 XML의 shouldn에서 요소의 순서 ' 문제는 없지만 xml 요소가 예상 된 순서가 아닌 경우 중단되는 고대 시스템 용 XML 문서를 작성하므로 이에 대한 선택권이 없습니다.

+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

파이썬 2.7 런타임에서 insert는 기존 컴포넌트를 그 위치에 대체합니다. 이 예제에서 childA는 newChild로 대체됩니다. – ajeans

관련 문제