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


Python XML.getchildren方法代码示例

本文整理汇总了Python中xml.etree.cElementTree.XML.getchildren方法的典型用法代码示例。如果您正苦于以下问题:Python XML.getchildren方法的具体用法?Python XML.getchildren怎么用?Python XML.getchildren使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在xml.etree.cElementTree.XML的用法示例。


在下文中一共展示了XML.getchildren方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: parseOpenSearch

# 需要导入模块: from xml.etree.cElementTree import XML [as 别名]
# 或者: from xml.etree.cElementTree.XML import getchildren [as 别名]
 def parseOpenSearch(self,xmldata,format="atom"):
     """
     OpenSearchの出力XMLをパースします。
     xmldata=OpenSearch("keyword")[1]
     format=atomまたはrss
     """
     root=XML(xmldata)#xmldata
     if format == "rss":
         entrys=[elm for elm in root.getchildren()[0].getchildren() if "item" == elm.tag]
     elif format == "atom":
         entrys=[elm for elm in root if elm.tag.endswith("entry")]
     else:
         raise Exception("Unknown format : %s" % format)#xmlのフォーマットはatom/rssのみ対応
     hits=len(entrys)
     entrys=[entry.getiterator for entry in entrys]
     entrys=[j for j in [i() for i in entrys]]
     ret=[]
     h="content"
     for entry in entrys:
         buf={}
         for val in entry:
             dual=1
             if val != None and val.text != None:
                 if not val.text.startswith("\n"):
                     if buf.get(val.tag[val.tag.find("}")+1:]) == None:
                         buf[val.tag[val.tag.find("}")+1:]] = val.text
                     else:
                         dual= dual+1
                         buf[val.tag[val.tag.find("}")+1:] + str(dual)] = val.text
         if h in buf.keys():buf[h]=self.stripHTMLTags(buf[h])
         ret.append(buf)
     return hits,ret#data[0]["name"] で著者
开发者ID:syakesaba,项目名称:python-scripts-useful,代码行数:34,代码来源:wctest.py

示例2: get_status_code

# 需要导入模块: from xml.etree.cElementTree import XML [as 别名]
# 或者: from xml.etree.cElementTree.XML import getchildren [as 别名]
def get_status_code(output):
    try:
        tree = XML(output)
        child = tree.getchildren()[0]
        return int(child.get('status_code'))
    except:
        return None
开发者ID:AloneRoad,项目名称:MELS,代码行数:9,代码来源:test_course.py

示例3: get_property

# 需要导入模块: from xml.etree.cElementTree import XML [as 别名]
# 或者: from xml.etree.cElementTree.XML import getchildren [as 别名]
def get_property(output, key):
    try:
        tree = XML(output)
        child = tree.getchildren()[0]   # first tag
        return child.get(key)
    except IndexError:
        return None
开发者ID:AloneRoad,项目名称:MELS,代码行数:9,代码来源:test_course.py

示例4: queryUniprot

# 需要导入模块: from xml.etree.cElementTree import XML [as 别名]
# 或者: from xml.etree.cElementTree.XML import getchildren [as 别名]
def queryUniprot(id, expand=[], regex=True):
    """Query Uniprot with *id* and return a `dictionary` containing the results
    
    :arg expand: entries through which you want to loop dictElements
        until there aren't any elements left
    :type expand: list
    """

    if not isinstance(id, str):
        raise TypeError('id should be a string')

    try:
        record_file = openURL('http://www.uniprot.org/uniprot/{0}.xml'.format(id))
    except:
        raise ValueError('No Uniprot record found with that id')
    
    data = record_file.read()
    record_file.close()
    data = XML(data)

    data = dictElement(data.getchildren()[0], '{http://uniprot.org/uniprot}', number_multiples=True)

    for key in data:
        value = data[key]
        if not key.startswith('dbReference'):
            continue
        
        try:
            if value.get('type') != 'PDB':
                continue
        except AttributeError:
            continue

        pdbid = value.get('id')
        refdata = {'PDB': pdbid}
        for prop in value:
            prop_key = prop.get('type')
            prop_val = prop.get('value')
            refdata[prop_key] = prop_val
        data[key] = refdata
            
    if expand:
        keys = []
        if regex:
            for lt in expand:
                lt_re = re.compile(lt)
                for key in data.keys():
                    if lt_re.match(key):
                        keys.append(key)
        else:
            keys = expand
        data = dictElementLoop(data, keys, '{http://uniprot.org/uniprot}')
    
    return data
开发者ID:fongchun,项目名称:ProDy,代码行数:56,代码来源:uniprot.py

示例5: get_property

# 需要导入模块: from xml.etree.cElementTree import XML [as 别名]
# 或者: from xml.etree.cElementTree.XML import getchildren [as 别名]
def get_property(output, key):
    tree = XML(output)
    child = tree.getchildren()[0]
    return child.get(key)
开发者ID:AloneRoad,项目名称:MELS,代码行数:6,代码来源:test_authen.py


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