Ich habe Element von etree mit einigen Attributen - wie können wir das Attribut von perticular etree Element löschen.
Antworten
Zu viele Anzeigen?En .attrib
Mitglied des Elementobjekts enthält das Diktat der Attribute - Sie können .pop("key")
o del
wie bei jedem anderen Diktat auch um ein Schlüssel-Werte-Paar zu entfernen.
A.J.
Punkte
7461
Sie müssen nicht try/except
während Sie eine Taste drücken, die nicht verfügbar ist. So können Sie dies tun.
Code
import xml.etree.ElementTree as ET
tree = ET.parse(file_path)
root = tree.getroot()
print(root.attrib) # {'xyz': '123'}
root.attrib.pop("xyz", None) # None is to not raise an exception if xyz does not exist
print(root.attrib) # {}
ET.tostring(root)
'<urlset> <url> <changefreq>daily</changefreq> <loc>http://www.example.com</loc></url></urlset>'
macm
Punkte
1859
Beispiel:
>>> from lxml import etree
>>> from lxml.builder import E
>>> otree = E.div()
>>> otree.set("id","123")
>>> otree.set("data","321")
>>> etree.tostring(otree)
'<div id="123" data="321"/>'
>>> del otree.attrib["data"]
>>> etree.tostring(otree)
'<div id="123"/>'
Passen Sie auf sich auf, manchmal haben Sie nicht das richtige Attribut:
Es wird immer vorgeschlagen, dass wir mit Ausnahmen umgehen.
try:
del myElement.attrib["myAttr"]
except KeyError:
pass