2014-11-15 2 views
2

일부 데이터를 기반으로 XML을 작성하기 위해 lxml을 사용하고 있습니다.lxml에서 python 키워드 용어를 태그 속성으로 추가하는 방법은 무엇입니까?

root = etree.Element('sentences') 
for item in aspectSentenceList: 
    print item 
    sentenceTag = etree.SubElement(root, "sentence", id=item[0]) 
    textTag = etree.SubElement(sentenceTag, "text", text=item[1]) 
    aspectTermsTag = etree.SubElement(sentenceTag, "aspectTerms") 
    for asp in item[2]: 
     aspectTermTag = etree.SubElement(aspectTermsTag, "aspectTerm", term = asp[0], frm = asp[1], to = asp[2]) 

캐치가 마지막 줄에 있습니다. 이라는 용어는, 입니다. 문제는, 파이썬은 보통 수입품이 아닌 다른 일에 "from"키워드를 사용하게하지 않을 것입니다. 비록 임시 해결 방법을 대신 frm 대신 사용하고 나중에 이러한 문자열을 모두 바꿉니다. 그러나 나는 무의미한 해킹없이 이것을 어떻게 할 수 있습니까?

답변

1

오 질문을 게시 한 후 5 분 이내에 도착했습니다. 문서에는 속성이 파이썬 사전이라고 언급되어 있습니다. 마지막 줄을 다음과 같이 업데이트했습니다 : -

aspectTermTag = etree.SubElement(aspectTermsTag, "aspectTerm", {"term":asp[0], "from": asp[1], "to":asp[2]}) 
관련 문제