2016-08-31 3 views
0

Python 2 Ist es posible XML-Datei mit Python zu ändern, wennPython Änderung XML-Attribut

<Label name="qotl_type_label" position="910,980" font="headline_light" /> 

Suche nach Namen Attribute und dann Position ändern?

+0

Bitte klären Sie Ihre Frage. Was ich verstehen kann ist, dass Sie eine XML-Datei ändern möchten (wie? Was zu was?), Aber nur wenn .. was? Brauchen Sie Unterstützung bei der Überprüfung, ob das a Ihre Anforderung erfüllt oder wenn Sie die Datei ändern oder beides? – YakovL

+0

Ich wollte Attribut in Datei ändern –

Antwort

1

können Sie das xml.etree.ElementTree Modul-in gebaut verwenden, um die XML zu analysieren, suchen Sie das Label Element und ändern Sie das position Attribut über .attrib Eigenschaft:

>>> import xml.etree.ElementTree as ET 
>>> 
>>> s = '<root><Label name="qotl_type_label" position="910,980" font="headline_light" /></root>' 
>>> 
>>> root = ET.fromstring(s) 
>>> label = root.find(".//Label[@name='qotl_type_label']") 
>>> label.attrib['position'] = 'new,position' 
>>> ET.tostring(root) 
'<root><Label font="headline_light" name="qotl_type_label" position="new,position" /></root>' 

Beachten Sie, dass die Reihenfolge der Attribute nicht beibehalten wird, Attribute ungeordnet per Definition.

+0

Gibt es eine Möglichkeit, nur nach Name Attribut zu suchen? Dies wird in meinem Programm chaotisch sein. –

+0

@KubaJanek Ich habe genau das im Codebeispiel gemacht - siehe den Aufruf "find()", wo wir den Attributwert 'name' überprüfen. – alecxe

+0

Entschuldigung, ich bin zurückgeblieben –

Verwandte Themen