本文整理汇总了Python中xml.etree.ElementTree.getiterator方法的典型用法代码示例。如果您正苦于以下问题:Python ElementTree.getiterator方法的具体用法?Python ElementTree.getiterator怎么用?Python ElementTree.getiterator使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类xml.etree.ElementTree
的用法示例。
在下文中一共展示了ElementTree.getiterator方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: getRecordList
# 需要导入模块: from xml.etree import ElementTree [as 别名]
# 或者: from xml.etree.ElementTree import getiterator [as 别名]
def getRecordList(self):
# Extraction of the fields and values to map to the SQL statement.
# The method returns a list of dictionnaries
reticLog.logInfo(self.logList, "( " + self.name + " ) getRecordList Start")
msg = StringIO.StringIO()
msg.write(self.msg)
#print raw_input('msg here...')
#print msg
msg.seek(0)
recordList = []
msgFormat = ''
xmlRoot = None
if self.metadata.has_key(msgFormat) :
if self.metadata['msgFormat'] == 'xml':
xmlRoot = ElementTree(msg)
msgFormat = 'xml'
else:
msgFormat = 'flat'
if msgFormat == '':
try:
xmlRoot = ElementTree(file=msg)
msgFormat = 'xml'
except:
msgFormat = 'flat'
reticLog.logDebug(self.logList, "Input format detected : " + msgFormat)
# I am here
if msgFormat == 'xml':
recNb = 0
#Create an iterator
iter = xmlRoot.getiterator()
#traverse the xml tree
for element in iter:
if element.getchildren():
for child in element.getchildren():
prepRecord = {}
if child.getchildren():
for subChild in child.getchildren():
if subChild.text == '-999':
continue
prepRecord[subChild.tag] = subChild.text
recordList.append(prepRecord)
reticLog.logDebug(self.logList, "All records processed.")
#here for processing flat file
elif msgFormat == 'flat':
raise Exception('Do not support flat file at this time')
reticLog.logInfo(self.logList, "( " + self.name + " ) getRecordList End")
return recordList
示例2: get_conf_attr
# 需要导入模块: from xml.etree import ElementTree [as 别名]
# 或者: from xml.etree.ElementTree import getiterator [as 别名]
def get_conf_attr(fileName,mode="log"):
res = []
root = ElementTree(file=fileName)
#Create an iterator
iter = root.getiterator()
if mode == "log":
for element in iter:
#Next the attributes (available on the instance itself using
#the Python dictionary protocol)
if element.keys() and (element.tag == 'logger'):
res.append(element.attrib)
#extract source attributes
elif mode == "source":
for element in iter:
if element.keys() and (element.tag == 'source'):
res = element.attrib
#extract pipe attributes
elif mode == "pipe":
for element in iter:
if element.keys and (element.tag == 'pipe'):
tempRes = element.attrib
tempRes['fieldNames'] = {}
tempRes['fieldLength'] = {}
#pipe children tag, for fields
if element.getchildren():
fieldIndex = 0
for child in element.getchildren():
if child.tag == 'field':
tempRes['fieldNames'][fieldIndex] = child.attrib['name']
fieldIndex += 1
res = tempRes
#extract sink attributes
elif mode == 'sink':
for element in iter:
if element.keys() and (element.tag == 'sink'):
res = element.attrib
if element.getchildren():
for child in element.getchildren():
res['dbFactroyArg'] = child.attrib
#extract source attributes
else:
import sys
print "unkown component configuration mode..."
sys.exit()
return res