2012-04-01 3 views
-1

SQL 쿼리에서 튜플 목록을 반환하는 python 스크립트가 있습니다. 목록의 데이터로 가지고있는 XML 파일을 업데이트하고 싶습니다.Python을 사용하여 xml 파일을 업데이트 하시겠습니까?

쿼리에서받은 목록이있는 특정 요소 또는 노드를 덮어 쓰려면 어떻게해야합니까? 고맙습니다.

좋아, ElementTree에서 findall()을 사용하여 요소 목록을 찾을 수 있었고 업데이트 할 setAttribute를 사용하는 것이 좋습니다. 그러나 setAttributes를 사용하여 반복되는 데이터를 삽입 할 가능성에 대해서는 어떻게해야합니까?

의 내 XML 고객의 목록이 포함되어 있다고 가정 해 봅시다 ..

(고객 이름 = "밥", 연령 = "22") 을

나는 SQL 데이터를 통해 루프를 사용할 수

하고, setAttribute를 사용하여 새 데이터를 추가하십시오. 그러나 내 SQL 데이터에 그러한 데이터가 포함되어있는 경우 추가 (customer name = "bob", age = "22)를 추가하지 않겠습니까? 고맙습니다 ...

+1

http://lxml.de/ –

답변

0

표준 Python 라이브러리의 ElementTree 모듈을 사용하십시오. 당신은 트리로 파싱 한 후, 당신이 찾고있는 요소를 찾아이를 수정하고, 다시 쓰기, XML 파일을 읽을 수 있습니다.

좀 더 구체적인 질문이 있으면 문의하시기 바랍니다.

+0

감사합니다. ElementTree 문서를 사용하여 XML 문서에서 찾고 있던 요소를 찾을 수있었습니다. 개념을 업데이트하는 것과 관련하여 일반적인 질문이 있습니다. 예를 들어, 내 SQL 쿼리는이 세트 반환 , , ,

+0

@timtran : 당신은 요소를 기존 제거하고 대신에 새로 추가하거나 기존 요소를 변경할 수 있습니다 - 방법은 당신이 –

0

python create xml and write to file
the official document for minidom
the official document for DOM
을 사용하면 Element.setAttribute(name, value),Element.setAttributeNode(newAttr) 등을 업데이트 할 수 있습니다.

+0

감사합니다 더 적합 무엇 . ElementTree 문서를 사용하여 XML 문서에서 찾고 있던 요소를 찾을 수있었습니다. 개념을 업데이트하는 것과 관련하여 일반적인 질문이 있습니다. 예를 들어, 내 SQL 쿼리는이 집합을 반환합니다 : (tom, 22), (mary, 23), (james 19), (ed, 37), (paul, 28). 내 XML 파일을이 데이터로 업데이트하려고합니다. xml에는 , 이미 포함되어 있습니다. 중복을 방지하기 위해 고객 태그를 모두 삭제하여이 업데이트를 수행하고 다시 추가 할 요소 목록을 새로 만듭니다. –

관련 문제