本文整理汇总了Python中xml.etree.ElementTree.SubElement.attrib['value']方法的典型用法代码示例。如果您正苦于以下问题:Python SubElement.attrib['value']方法的具体用法?Python SubElement.attrib['value']怎么用?Python SubElement.attrib['value']使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类xml.etree.ElementTree.SubElement
的用法示例。
在下文中一共展示了SubElement.attrib['value']方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __xml__
# 需要导入模块: from xml.etree.ElementTree import SubElement [as 别名]
# 或者: from xml.etree.ElementTree.SubElement import attrib['value'] [as 别名]
def __xml__(self):
bottle_elem = Element('bottle', attrib=dict(
serial=self.serial,
id=str(self.id),
start=self.start.isoformat(),
finish=self.finish.isoformat(),
measurements=str(self.expected_measurements),
mode=self.mode,
bottlevolume=str(self.bottle_volume),
samplevolume=str(self.sample_volume),
dilution=str(self.dilution),
))
for head in self.heads:
head_elem = SubElement(bottle_elem, 'head', attrib=dict(
serial=head.serial,
))
if head.pressure_limit is not None:
head_elem.attrib['pressurelimit'] = str(head.pressure_limit)
auto_readings_elem = SubElement(head_elem, 'autoreadings')
for reading in head.auto_readings:
e = SubElement(auto_readings_elem, 'reading')
e.attrib['value'] = str(reading)
manual_readings_elem = SubElement(head_elem, 'manualreadings')
for timestamp, reading in head.manual_readings:
e = SubElement(manual_readings_elem, 'reading')
e.attrib['timestamp'] = str((timestamp - self.start).seconds)
e.attrib['value'] = str(reading)
return tostring(bottle_elem)
示例2: xml_config
# 需要导入模块: from xml.etree.ElementTree import SubElement [as 别名]
# 或者: from xml.etree.ElementTree.SubElement import attrib['value'] [as 别名]
def xml_config(self, fields, target_fields, dirpath, csv_database):
root = etree.Element('duke')
schema = SubElement(root, 'schema')
threshold = etree.Element('threshold')
threshold.text = "0.9"
schema.append(threshold)
maybethreshold = etree.Element('maybe-threshold')
maybethreshold.text = "0.5"
schema.append(maybethreshold)
for elem in fields:
if elem[0] == "id":
property = etree.Element('property')
property.attrib['type'] = "id"
name = SubElement(property, 'name')
name.text = elem[0]
schema.append(property)
else:
property = etree.Element('property')
if elem[0] in target_fields:
property.attrib['lookup'] = "true"
else:
property.attrib['lookup'] = "false"
name = SubElement(property, 'name')
name.text = elem[0]
comparator = SubElement(property, 'comparator')
comparator.text = elem[2]
low = SubElement(property, 'low')
low.text = elem[3]
high = SubElement(property, 'high')
high.text = elem[4]
schema.append(property)
#файл
csv = etree.Element('csv')
param = SubElement(csv, 'param')
param.attrib['name'] = 'input-file'
param.attrib['value'] = csv_database
#разделитель
param = SubElement(csv, 'param')
param.attrib['name'] = 'separator'
param.attrib['value'] = ','
for elem in fields:
if elem[0] == "id":
column = SubElement(csv, 'column')
column.attrib['name'] = elem[0]
column.attrib['property'] = elem[0]
else:
column = SubElement(csv, 'column')
column.attrib['name'] = elem[0]
column.attrib['property'] = elem[0]
column.attrib['cleaner'] = elem[1]
root.append(csv)
s = etree.tostring(root, pretty_print=True)
with open("%s/xmlconfig.xml" % dirpath, "w") as xmlfile:
xmlfile.write(s)
print s
print("\n")
示例3: sld2qml
# 需要导入模块: from xml.etree.ElementTree import SubElement [as 别名]
# 或者: from xml.etree.ElementTree.SubElement import attrib['value'] [as 别名]
def sld2qml(self):
try:
sldDocument = minidom.parseString(self.dlg.sldText2.text().encode('utf-8'))
# Namespaces (sld, se, none) are most important part. Firstly they must be handled.
if len(sldDocument.getElementsByTagName('sld:RasterSymbolizer')) > 0:
nameSpace = 'sld:'
elif len(sldDocument.getElementsByTagName('se:RasterSymbolizer')) > 0:
nameSpace = 'se:'
else:
nameSpace = '' # no namespace.
# main QML structure.
qmlRoot = Element('qgis')
pipe = SubElement(qmlRoot, 'pipe')
rasterRenderer = SubElement(pipe, 'rasterrenderer')
rasterTransparency = SubElement(rasterRenderer, 'rasterTransparency')
# checking document for containing ColorMap tag. If does, it is a single-band raster.
sldRasterType = sldDocument.getElementsByTagName(nameSpace + 'ColorMap')
if len(sldRasterType) == 0:
sldRedBand = sldDocument.getElementsByTagName(nameSpace + 'RedChannel')[0].getElementsByTagName(
nameSpace + 'SourceChannelName')[0].firstChild.nodeValue
sldGreenBand = sldDocument.getElementsByTagName(nameSpace + 'GreenChannel')[0].getElementsByTagName(
nameSpace + 'SourceChannelName')[0].firstChild.nodeValue
sldBlueBand = sldDocument.getElementsByTagName(nameSpace + 'BlueChannel')[0].getElementsByTagName(
nameSpace + 'SourceChannelName')[0].firstChild.nodeValue
rasterRenderer.attrib['type'] = 'multibandcolor'
rasterRenderer.attrib['redBand'] = sldRedBand
rasterRenderer.attrib['greenBand'] = sldGreenBand
rasterRenderer.attrib['blueBand'] = sldBlueBand
else:
rasterRenderer.attrib['type'] = 'singlebandpseudocolor'
rasterRenderer.attrib['band'] = '1'
rasterShader = SubElement(rasterRenderer, 'rastershader')
colorRampShader = SubElement(rasterShader, 'colorrampshader')
sldColorMapType = None
sldColorMapType2 = None
try:
sldColorMapType = sldDocument.getElementsByTagName(nameSpace + 'ColorMap')[0].attributes.has_key(
'type') # sometimes "ColorMap" tag does not contain "type" attribute. This means it is a ramp color.
sldColorMapType2 = sldDocument.getElementsByTagName(nameSpace + 'ColorMap')[0].attributes[
'type'].value # or getting raster map colortype by "type" atribute.
except:
pass
if sldColorMapType and sldColorMapType2 == 'intervals':
colorRampShader.attrib['colorRampType'] = 'DISCRETE'
else:
colorRampShader.attrib['colorRampType'] = 'INTERPOLATED'
sldColorValues = list()
sldItemList = sldDocument.getElementsByTagName(nameSpace + 'ColorMapEntry')
# some SLD documents don't have 'label' attribute so the problem is handled by this way.
try:
for m in sldItemList:
sldColorValues.append(
[m.attributes['quantity'].value, m.attributes['label'].value, m.attributes['color'].value])
except:
for m in sldItemList:
sldColorValues.append([m.attributes['quantity'].value, m.attributes['quantity'].value,
m.attributes['color'].value])
for s in range(len(sldColorValues)):
item = SubElement(colorRampShader, 'item')
item.attrib['alpha'] = '255'
item.attrib['value'] = sldColorValues[s][0]
item.attrib['label'] = sldColorValues[s][1]
item.attrib['color'] = sldColorValues[s][2]
# some SLD documents don't have 'Opacity' tag so the problem is handled by this way.
try:
sldOpacity = sldDocument.getElementsByTagName(nameSpace + 'Opacity')[0].firstChild.nodeValue
except:
sldOpacity = '1'
rasterRenderer.attrib['opacity'] = sldOpacity
brightnessContrast = SubElement(pipe, 'brightnesscontrast')
hueSaturation = SubElement(pipe, 'huesaturation')
rasterResampler = SubElement(pipe, 'rasterresampler')
blendMode = SubElement(qmlRoot, 'blendMode')
blendMode.text = '0'
textQML = minidom.parseString(tostring(qmlRoot)).toprettyxml(indent=" ")
self.saveFile(textQML, 'QML')
except Exception as sldTransformError:
QMessageBox.critical(None, "Invalid XML", str(sldTransformError))