2013-07-12 98 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的副本。改变网络上的名称并不意味着它会产生巨大的差异。 http://pastebin.com/yQfdFgwr

这是我的错误:

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 =指定的XML文件中的300。代码中以前的方法生成的。

回答

1

x1elm必须引号内的SEARCHTEXT:在报价'x1elm'

+0

我给你正确的答案,因为你用它想出了第一! - 谢谢! – CodeMonkeyAlx

1

认沽x1elm:

x = root.findtext('x1elm'); 

你要通过一个匹配的XML元素名称字符串。实际上,x1elm是一个Python变量,而且它是一个未定义的变量。

+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> 

的Python:

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