当前位置: 首页>>代码示例>>Python>>正文


Python ElementTree.getiterator方法代码示例

本文整理汇总了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
开发者ID:twdb,项目名称:txhis,代码行数:53,代码来源:SQLSink.py

示例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
开发者ID:twdb,项目名称:txhis,代码行数:47,代码来源:twdbEaiUtil.py


注:本文中的xml.etree.ElementTree.getiterator方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。