以下代码给出了错误: 第19行,在modifyXML中 self.PreFlopCallPower.text =' NEW VALUE' AttributeError:' str'对象没有属性' text'
问题似乎是self.PreFlopCallPower只是一个字符串而不是elementTree对象,即使我的示例与python etree文档中给出的示例非常相似:self.PreFlopCallPower = entry.find(&#39) ; PreFlopCallPower')的文本。我怎样才能解决这个问题?我无法看到我与此处列出的更新示例有何不同之处:https://docs.python.org/2/library/xml.etree.elementtree.html
import xml.etree.ElementTree as xml
class XMLHandler(object):
def __init__(self,StrategyName):
self.readXML(StrategyName)
self.modifyXML()
def readXML(self, StrategyName):
self.Template = StrategyName
self.tree = xml.parse('strategies.xml')
self.root = self.tree.getroot()
for entry in self.root.findall('Strategy'):
if entry.get('name') == StrategyName:
self.PreFlopCallPower = entry.find('PreFlopCallPower').text
def modifyXML (self):
self.PreFlopCallPower.text = 'NEW VALUE' # ---ERROR OCCURS HERE---
self.PreFlopCallPower.set('updated', 'yes')
self.tree.write('output.xml')
X=XMLHandler('Strategy305PP')
答案 0 :(得分:0)
在这一行中,您要存储节点的文本(因此有一个str
):
self.PreFlopCallPower = entry.find('PreFlopCallPower').text
删除.text
以存储节点:
self.PreFlopCallPower = entry.find('PreFlopCallPower')