Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python lxml属性顺序_Python_Xml_Lxml_Minidom - Fatal编程技术网

Python lxml属性顺序

Python lxml属性顺序,python,xml,lxml,minidom,Python,Xml,Lxml,Minidom,如本问题所述: 根据@abarnet的建议,我编写了以下代码行: root = ET.Element('{%s}Catalogo' % SATNS, OrderedDict([("Ano","2014"),("Mes","02"),("TotalCtas","219"),("RFC","XXX010101XXX"),("Version","1.0")]), nsmap={'catalogocuentas':SATNS}) 我明白了: <catalogocuentas:Catalogo

如本问题所述:

根据@abarnet的建议,我编写了以下代码行:

root = ET.Element('{%s}Catalogo' % SATNS, OrderedDict([("Ano","2014"),("Mes","02"),("TotalCtas","219"),("RFC","XXX010101XXX"),("Version","1.0")]), nsmap={'catalogocuentas':SATNS})
我明白了:

<catalogocuentas:Catalogo xmlns:catalogocuentas="http://www.sat.gob.mx/catalogocuentas" Ano="2014" Mes="02" TotalCtas="219" RFC="XXX010101XXX" Version="1.0"/>
作为xml的一部分,然后在python代码中添加以下信息:

attrib={location_attribute: 'http://www.sat.gob.mx/catalogocuentas'}
使其成为:

root = ET.Element('{%s}Catalogo' % SATNS, OrderedDict([("Ano","2014"),("Mes","02"),("TotalCtas","219"),("RFC","XXX010101XXX"),("Version","1.0")]), nsmap={'catalogocuentas':SATNS}, attrib={location_attribute: 'http://www.sat.gob.mx/catalogocuentas'})
我得到这个错误:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "lxml.etree.pyx", line 2558, in lxml.etree.Element (src/lxml/lxml.etree.c:52829)
TypeError: Element() got multiple values for keyword argument 'attrib'
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
lxml.etree.Element(src/lxml/lxml.etree.c:52829)中的文件“lxml.etree.pyx”,第2558行
TypeError:Element()为关键字参数“attrib”获取了多个值
我怎样才能修好它


提前谢谢

问题是您将同一关键字参数发送给
元素()
init方法两次。对于初始化,第二个参数将用作
attrib
关键字。在本例中,哪个是包含所有属性的
OrderedDict()
。然后,您尝试再次提供它,这是它遇到冲突的地方。您可以通过以下两种方式之一解决此问题:

您可以将此属性添加到属性
orderedict()
中,如下所示:

root = ET.Element('{%s}Catalogo' % SATNS, OrderedDict([("Ano","2014"),("Mes","02"),("TotalCtas","219"),("RFC","XXX010101XXX"),("Version","1.0"),("location_attribute","http://www.sat.gob.mx/catalogocuentas")]), nsmap={'catalogocuentas':SATNS})
或者,您也可以通过执行以下操作将其添加到下一行:

root.attrib["location_attribute"] = "http://www.sat.gob.mx/catalogocuentas"
root.attrib["location_attribute"] = "http://www.sat.gob.mx/catalogocuentas"