XML

2016-08-19 4 views
1

에서 튜플의 저장 목록 I는 다음과 같은 목록의 목록을 가지고 :XML

<root> 
    <data> 
    </data> 
</root> 

내가 가장 좋은 방법을 이해하기 위해 노력하고있어 다음과 같이

[[value A, Value B, Value C], [value D, value E, Value F]] 

내가 XML 구조를 가지고 목록을 XML에 작성합니다.

XML을 구문 분석하는 방법, 데이터를 가져 오는 방법, XML에 데이터를 쓰는 방법을 이해합니다. 특정 경우에는 etree를 사용합니다. 내가 고민하는 것은이 데이터 유형을 XML에 저장하는 개념적인 우수 사례입니다.

나는이 질문의 특성을 사과하지만 여기서는 기본 사항에 대해 고심하고있다.

나는 전체 목록을 문자열로 저장하려고 시도했지만 괜찮 았지만 나중에 다루기가 쉽지 않습니다.

업데이트 :

@mkHun의 일반적인 방법을 사용하여, @ 존 클레멘트 개념, 내 목적을 위해 다음과 같은 작품 특성과 :

from lxml import etree 

var = [["value A", "Value B", "Value C"], ["value D", "value E", "Value F"]] 
for j in var: 
    root = etree.Element('root') 
    member = etree.SubElement(root, "member") 
    member.attrib['att1'] = j[0] 
    member.attrib['att2'] = j[1] 
    member.attrib['att3'] = j[2] 
    root.append(member) 

    out = etree.tostring(root, pretty_print=True) 
    print(out) 

이 접근, 반복 깊이를 줄이는 것은 통합하기를 각 목록을 하나의 SubElement으로 만들고 다음과 비슷한 XML 구조를 만듭니다.

<root> 
    <member att1="Value A" att2="Value B" att3="Value C"/" 
    <member att1="Value D" att2="Value E" att3="Value F"/" 
</root> 

이것이이 데이터를 저장하는 데 가장 좋거나 가장 효율적인 방법이라는 것이 확실하지 않지만 현재로서는 제가 시도한 최선의 방법입니다.

감사

+1

사용 ... –

+0

@JonClements 속성은 확실히 내가 시도하는 데 필요한 개념이다. 도와 주셔서 감사합니다. – theeastcoastwest

답변

1

아마 데이터 요소의 속성으로 저장할 것 lxml

from lxml import etree 

var = [["value A", "Value B", "Value C"], ["value D", "value E", "Value F"]] 
for j in var: 
    root = etree.Element('root') 
    for m in j: 
     data = etree.Element('data') 
     data.text = m 
     root.append(data) 

    out = etree.tostring(root, pretty_print=True) 
    print out 
+0

제 질문에 대한 업데이트에서 볼 수 있긴하지만이 일반적인 개념은 잘 작동했습니다. 목록 구성원을 분리하지 않으려 고 약간 변경했습니다. 감사 – theeastcoastwest