本文整理汇总了Python中xml.etree.cElementTree.ElementTree.getroot方法的典型用法代码示例。如果您正苦于以下问题:Python ElementTree.getroot方法的具体用法?Python ElementTree.getroot怎么用?Python ElementTree.getroot使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类xml.etree.cElementTree.ElementTree
的用法示例。
在下文中一共展示了ElementTree.getroot方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: extractElement
# 需要导入模块: from xml.etree.cElementTree import ElementTree [as 别名]
# 或者: from xml.etree.cElementTree.ElementTree import getroot [as 别名]
def extractElement(self, elementpath, respdata):
try:
tree = ElementTree()
tree.parse(StringIO(respdata))
except:
return None
# Strip off the top-level item
if elementpath[0] == '/':
elementpath = elementpath[1:]
splits = elementpath.split('/', 1)
root = splits[0]
if tree.getroot().tag != root:
return None
elif len(splits) == 1:
return tree.getroot().text
else:
elementpath = splits[1]
e = tree.find(elementpath)
if e is not None:
return e.text
else:
return None
示例2: tweak_build_xml
# 需要导入模块: from xml.etree.cElementTree import ElementTree [as 别名]
# 或者: from xml.etree.cElementTree.ElementTree import getroot [as 别名]
def tweak_build_xml(self):
runjdwp_args = [
'transport=dt_socket',
'server=y',
'address=8765',
'suspend=n',
]
runjdwp_args = ','.join(runjdwp_args)
jvm_debug_args = [
'-Xdebug',
'-Xrunjdwp:%s' % (runjdwp_args,),
]
jvm_debug_args = ' '.join(jvm_debug_args)
build_xml = self.get_build_xml()
tree = ElementTree()
tree.parse(build_xml)
root = tree.getroot()
targets = root.findall('target')
for node in targets:
if node.get('name') == 'run':
java_node = node.find('java')
SubElement(java_node, 'jvmarg', {
'line': jvm_debug_args,
})
tree.write(build_xml)
示例3: _split_configuration
# 需要导入模块: from xml.etree.cElementTree import ElementTree [as 别名]
# 或者: from xml.etree.cElementTree.ElementTree import getroot [as 别名]
def _split_configuration(self, projectfile, temp_dir):
num_pieces = multiprocessing.cpu_count()
tree = ET(file=unicode(projectfile))
num_files = len(tree.findall('./files/file'))
splitfiles = []
files_per_job = int(math.ceil(float(num_files)/num_pieces))
for idx in xrange(num_pieces):
tree = ET(file=unicode(projectfile))
root = tree.getroot()
start = idx*files_per_job
end = start + files_per_job
if end > num_files:
end = None
for elem in ('files', 'images', 'pages',
'file-name-disambiguation'):
elem_root = root.find(elem)
to_keep = elem_root.getchildren()[start:end]
to_remove = [x for x in elem_root.getchildren()
if not x in to_keep]
for node in to_remove:
elem_root.remove(node)
out_file = temp_dir / "{0}-{1}.ScanTailor".format(projectfile.stem,
idx)
tree.write(unicode(out_file))
splitfiles.append(out_file)
return splitfiles
示例4: parse_operator_xml
# 需要导入模块: from xml.etree.cElementTree import ElementTree [as 别名]
# 或者: from xml.etree.cElementTree.ElementTree import getroot [as 别名]
def parse_operator_xml(f):
et = ElementTree(file=f)
r = et.getroot()
def _get_value_from_first_element(r_, e_name):
return r_.findall(e_name)[0].text
operator_id = r.attrib["id"]
task_id = _get_value_from_first_element(r, "task-id")
s = r.findall("scatter")[0]
scatter_task_id = _get_value_from_first_element(s, "scatter-task-id")
sgs = s.findall("chunks")[0]
schunks = [ScatterChunk(x.attrib["out"], x.attrib["in"]) for x in sgs.findall("chunk")]
scatter = Scatter(task_id, scatter_task_id, schunks)
gs = r.findall("gather")[0].findall("chunks")[0].findall("chunk")
def _to_c(x):
return (
_get_value_from_first_element(x, "gather-task-id"),
_get_value_from_first_element(x, "chunk-key"),
_get_value_from_first_element(x, "task-output"),
)
gchunks = [GatherChunk(*_to_c(x)) for x in gs]
gather = Gather(gchunks)
return ChunkOperator(operator_id, scatter, gather)
示例5: parse_operator_xml
# 需要导入模块: from xml.etree.cElementTree import ElementTree [as 别名]
# 或者: from xml.etree.cElementTree.ElementTree import getroot [as 别名]
def parse_operator_xml(f):
et = ElementTree(file=f)
r = et.getroot()
def _get_value_from_first_element(r_, e_name):
return r_.findall(e_name)[0].text
operator_id = r.attrib['id']
task_id = _get_value_from_first_element(r, 'task-id')
s = r.findall('scatter')[0]
scatter_task_id = _get_value_from_first_element(s, 'scatter-task-id')
sgs = s.findall('chunks')[0]
schunks = [ScatterChunk(x.attrib['out'], x.attrib['in']) for x in sgs.findall('chunk')]
scatter = Scatter(task_id, scatter_task_id, schunks)
gs = r.findall('gather')[0].findall('chunks')[0].findall('chunk')
def _to_c(x):
return _get_value_from_first_element(x, 'gather-task-id'), _get_value_from_first_element(x, 'chunk-key'), _get_value_from_first_element(x, 'task-output')
gchunks = [GatherChunk(*_to_c(x)) for x in gs]
gather = Gather(gchunks)
return ChunkOperator(operator_id, scatter, gather)
示例6: run
# 需要导入模块: from xml.etree.cElementTree import ElementTree [as 别名]
# 或者: from xml.etree.cElementTree.ElementTree import getroot [as 别名]
def run(self):
settings = [
os.path.join(constant.profile['LOCALAPPDATA'],
u'Microsoft Corporation\\Remote Desktop Connection Manager\\RDCMan.settings'),
os.path.join(constant.profile['LOCALAPPDATA'],
u'Microsoft\\Remote Desktop Connection Manager\\RDCMan.settings')
]
for setting in settings:
if os.path.exists(setting):
self.debug(u'Setting file found: {setting}'.format(setting=setting))
tree = ElementTree(file=setting)
root = tree.getroot()
pwd_found = []
elements = [
'CredentialsProfiles/credentialsProfiles/credentialsProfile',
'DefaultGroupSettings/defaultSettings/logonCredentials',
'file/server',
]
for element in elements:
pwd_found += self.parse_element(root, element)
try:
for r in root.find('FilesToOpen'):
if os.path.exists(r.text):
self.debug(u'New setting file found: %s' % r.text)
pwd_found += self.parse_xml(r.text)
except Exception:
pass
return pwd_found
示例7: _DXML
# 需要导入模块: from xml.etree.cElementTree import ElementTree [as 别名]
# 或者: from xml.etree.cElementTree.ElementTree import getroot [as 别名]
class _DXML(object):
def __init__(self, path, tagmap={}, tagdefault=None, **options):
self._path, self._options = path, options
self._tree = ElementTree()
self._tree.parse(self._path)
self.verbosity, self.traceback, self.graceful = 1, False, False
self._tagmap = tagmap
self._tagdefault = self._trivial if tagdefault is None else tagdefault
def __iter__(self):
self._preiter_hook()
# Stage 1: namespaces
for o in self._xml_namespaces(): # IGNORE:E1101
yield o
# Stage 2: resources
r = self._tree.getroot()
for e in [r] + r.getchildren(): # IGNORE:E1101
try:
for o in self._tagmap.get(e.tag, self._tagdefault)(e):
yield o
except Exception, x:
self._except(Exception, x)
# Stage 3: inheritance etc.
self._postiter_hook()
示例8: run
# 需要导入模块: from xml.etree.cElementTree import ElementTree [as 别名]
# 或者: from xml.etree.cElementTree.ElementTree import getroot [as 别名]
def run(self):
creds = []
directory = constant.profile['USERPROFILE'] + u'\\Documents\\Rogue\'s Tale\\users'
# The actual user details are stored in *.userdata files
if os.path.exists(directory):
files = os.listdir(directory)
for f in files:
if re.match('.*\.userdata', f):
# We've found a user file, now extract the hash and username
xmlfile = directory + '\\' + f
tree = ElementTree(file=xmlfile)
root = tree.getroot()
# Double check to make sure that the file is valid
if root.tag != 'user':
self.warning(u'Profile %s does not appear to be valid' % f)
continue
# Now save it to credentials
creds.append({
'Login': root.attrib['username'],
'Hash': root.attrib['password']
})
return creds
示例9: extract_positions
# 需要导入模块: from xml.etree.cElementTree import ElementTree [as 别名]
# 或者: from xml.etree.cElementTree.ElementTree import getroot [as 别名]
def extract_positions(url):
tree = ElementTree()
parser = XMLParser(encoding="iso-8859-1")
data = urllib.urlopen(url)
tree.parse(data, parser=parser)
positions = tree.getroot().findall("team")
allpos = []
for pos in positions:
realpos = pos.find("pos")
latitude = float(realpos.attrib['a'])
longitude = float(realpos.attrib['o'])
speed = float(realpos.attrib['s'])
course = float(realpos.attrib['c'])
last_update = datetime.utcfromtimestamp(int(realpos.attrib["w"]))
dtf = float(realpos.attrib['d'])
_id = pos.attrib["id"]
# pos = geo.xyz(latitude, latitude)
# final object
result = {}
result["str_latitude"] = format_deg(latitude, "N", "S")
result["str_longitude"] = format_deg(longitude, "E", "W")
result["speed"] = speed
result["course"] = course
result["_id"] = _id
result["dtf"] = dtf
result["last_update"] = last_update
allpos.append(result)
return allpos
示例10: create_zip
# 需要导入模块: from xml.etree.cElementTree import ElementTree [as 别名]
# 或者: from xml.etree.cElementTree.ElementTree import getroot [as 别名]
def create_zip(file_path):
tree = ElementTree(file=file_path)
root = tree.getroot()
db_name = root.attrib['name']
if 'zip_name' in root.attrib:
zip_name = root.attrib['zip_name']
subprocess.call(['zip', '-q', '-r', zip_name, db_name])
print('The MD5 checksum of %s is %s' % (zip_name, md5_checksum(zip_name)))
示例11: normalizeXML
# 需要导入模块: from xml.etree.cElementTree import ElementTree [as 别名]
# 或者: from xml.etree.cElementTree.ElementTree import getroot [as 别名]
def normalizeXML(value):
if value[0] == '<':
try:
tree = ElementTree(file=StringIO(value))
except Exception:
return False, " Could not parse XML value: %s\n" % (value,)
value = tostring(tree.getroot())
return value
示例12: mimi_fetch_interactions
# 需要导入模块: from xml.etree.cElementTree import ElementTree [as 别名]
# 或者: from xml.etree.cElementTree.ElementTree import getroot [as 别名]
def mimi_fetch_interactions(gene_id,taxid=None):
gene_id = str(gene_id);
url = MIMI_INT_URL % gene_id;
try:
if _SNIPPER_DEBUG:
print "DEBUG: executing MiMI URL %s" % url;
except:
pass
xml = urllib2.urlopen(url,timeout=CON_TIMEOUT);
tree = ElementTree();
tree.parse(xml);
go_pattern = re.compile("(.+) \[GO:(\d+)\]");
def extract(pattern,string):
match = pattern.search(string);
if match:
return match.groups();
else:
return (None,None);
results = [];
for int_gene in tree.getroot().findall("MiMI/Response/ResultSet/Result/InteractingGene"):
other_gene = int_gene.find("GeneID").text;
interaction = GeneInteraction(gene_id,other_gene);
for element in int_gene.getchildren():
if element.tag == "TaxonomyID":
interaction.set_tax(element.text);
elif element.tag == "InteractionAttribute":
type = element.get('type');
if type == "Component":
tup = extract(go_pattern,element.text);
interaction.add_component(*tup);
elif type == "Function":
tup = extract(go_pattern,element.text);
interaction.add_function(*tup);
elif type == "Process":
tup = extract(go_pattern,element.text);
interaction.add_process(*tup);
elif type == "Provenance":
interaction.add_provenance(element.text);
elif type == "PubMed":
interaction.add_pubmed(element.text);
elif type == "InteractionType":
interaction.add_interaction_type(element.text);
# Taxonomy ID filter.
if taxid != None:
if interaction.taxon_id != taxid:
continue;
results.append(interaction);
return results;
示例13: extractElements
# 需要导入模块: from xml.etree.cElementTree import ElementTree [as 别名]
# 或者: from xml.etree.cElementTree.ElementTree import getroot [as 别名]
def extractElements(self, elementpath, parent, respdata):
try:
tree = ElementTree()
tree.parse(StringIO(respdata))
except:
return None
if parent:
tree_root = nodeForPath(tree.getroot(), parent)
if not tree_root:
return None
tree_root = tree_root[0]
# Handle absolute root element
if elementpath[0] == '/':
elementpath = elementpath[1:]
root_path, child_path = xmlPathSplit(elementpath)
if child_path:
if tree_root.tag != root_path:
return None
e = tree_root.findall(child_path)
else:
e = (tree_root,)
else:
# Strip off the top-level item
if elementpath[0] == '/':
elementpath = elementpath[1:]
splits = elementpath.split('/', 1)
root = splits[0]
if tree.getroot().tag != root:
return None
elif len(splits) == 1:
return tree.getroot().text
else:
elementpath = splits[1]
e = tree.findall(elementpath)
if e is not None:
return [item.text for item in e]
else:
return None
示例14: get_links
# 需要导入模块: from xml.etree.cElementTree import ElementTree [as 别名]
# 或者: from xml.etree.cElementTree.ElementTree import getroot [as 别名]
def get_links(self, pkg_name):
"""
Return the simple page links.
"""
tree = ElementTree()
try:
tree.parse(urllib2.urlopen('%s/simple/%s' % (self.uri, pkg_name)))
except (urllib2.HTTPError, exceptions.SyntaxError):
return None
return tree.getroot().findall('body/a')
示例15: decorate_item
# 需要导入模块: from xml.etree.cElementTree import ElementTree [as 别名]
# 或者: from xml.etree.cElementTree.ElementTree import getroot [as 别名]
def decorate_item(cls, leaf):
# FIXME: Very simplified .savedSearch parsing, so far we only support
# the query, without additional filtering. The simplest form of
# .savedSearch file is saved by nautilus as following:
# <query version="1.0">
# <text>QUERY GOES HERE</text>
# </query>
if not leaf.object.endswith(".savedSearch"):
return None
try:
et = ElementTree(file=leaf.object)
query = et.getroot().find("text").text
if not query:
return None
location_tag = et.getroot().find("location")
location = location_tag.text if location_tag is not None else None
return cls(query, location=location_uri(location))
except Exception:
pretty.print_exc(__name__)
return None