2013-07-12 2 views
0

좋아요. XML 파일을 생성 할 수있는 지점까지 있습니다. 이제 좌표를 저장하는 데 사용되는 프로그램으로 다시 가져 오려고합니다. 다음은이 특정 부분에서 제가 작업하고있는 부분입니다.XML에서 데이터 가져 오기/인쇄

def diplayX(): 
root = etree.parse('c:\\Users\namehere\Desktop\coord_man.xml').getroot() 
x = root.findtext(x1elm) 
print(x) 

복사하여 붙여 넣는 XML 파일에는 코드가 표시되지 않지만 여기에있는 숫자는 해당 XML의 복사본입니다. 큰 차이가 아니라 웹에서 이름이 바뀌 었습니다. 명명 된 XML 파일에

Traceback (most recent call last): 
File "<pyshell#8>", line 1, in <module> 
sloop() 
File "C:\Users\namehere\Desktop\Folder of CodeMonkey\piSrc\pyclickerXML.py", line 71, in sloop 
x = root.findtext(x1elm) 
NameError: global name 'x1elm' is not defined 

x1elm = 300 : http://pastebin.com/yQfdFgwr

여기 내 오류입니다. 코드에서 이전 메서드에 의해 생성되었습니다. 따옴표 할 필요가 x1elm

답변

1

검색 텍스트 : 따옴표 'x1elm'

+0

내가 당신에게 적절한 대답을했다! - 감사! – CodeMonkeyAlx

1

넣어 x1elm :

x = root.findtext('x1elm'); 

당신은 XML 요소 이름과 일치하는 문자열을 전달해야합니다. 그대로, x1elm은 파이썬 변수이며, 정의되지 않은 변수입니다.

+0

친절하게 감사드립니다! 누군가가 당신 앞에서 시간 척도에 대한 답을 얻었습니다. – CodeMonkeyAlx

0

XML

<data> 
    <items> 
     <item name="item1">item1</item> 
     <item name="item2">item2</item> 
     <item name="item3">item3</item> 
     <item name="item4">item4</item> 
    </items> 
</data> 

파이썬 : 당신이 먼저와 함께 온 이후

from xml.dom import minidom 
xmldoc = minidom.parse('items.xml') 
itemlist = xmldoc.getElementsByTagName('item') 
print "Len : ", len(itemlist) 
print "Attribute Name : ", itemlist[0].attributes['name'].value 
print "Text : ", itemlist[0].firstChild.nodeValue 
for s in itemlist : 
    print "Attribute Name : ", s.attributes['name'].value 
    print "Text : ", s.firstChild.nodeValue