XML wird nicht gespeichert
Verfasst: Mittwoch 10. November 2021, 12:48
Hallo zusammen,
irgendwie werden meine Änderungen an einer XML-Datei nicht gespeichert. Im Prinzip will ich einige Tags mit re.sub löschen bzw. ändern. Aber anscheinend werde die Änderungen am Ende nicht in die XML geschrieben.
Die RegEx hab ich mit dem internen Tool von PyCharm und mit einem Web-Tool getestet. Die sollten in Ordnung sein.
Eine andere Sache ist, das die zu ändernden Stellen als CDATA in einem tag.text liegen. Vielleicht wird etwas beim Einlesen geändert, aber dann würde eine keine erfolgreiche Konsolenausgabe geben
Grüße
PEter
irgendwie werden meine Änderungen an einer XML-Datei nicht gespeichert. Im Prinzip will ich einige Tags mit re.sub löschen bzw. ändern. Aber anscheinend werde die Änderungen am Ende nicht in die XML geschrieben.
Die RegEx hab ich mit dem internen Tool von PyCharm und mit einem Web-Tool getestet. Die sollten in Ordnung sein.
Code: Alles auswählen
def parseXMLtest(self, xdata):
for t in xdata.findall('.//property[@name="body"]'):
if t.text.lower().find("cdata") > -1:
t.text = re.sub(r"s/<ac:structured-macro ac:name=\"jira\"*[^>]*>(.+?)<\/ac:structured-macro>", r"\1", t.text)
#print("NODDATA", t.text)
t.text = re.sub("<ac:parameter ac:name=\"server\"*[^>]*>(.+?)<\/ac:parameter>", "", t.text)
col = re.compile("<ac:parameter ac:name=\"columns\"*[^>]*>(.+?)<\/ac:parameter>")
print(re.findall(col, t.text))
t.text = re.sub(col, '', t.text)
t.text = re.sub("<ac:parameter ac:name=\"key\"[^>]*>(.+?)<\/ac:parameter>", r"\1", t.text)
t.text = re.sub(r'<ac:parameter ac:name=\"serverId\"[^>]*>(.+?)<\/ac:parameter>', '', t.text)
now = datetime.now()
date_time = now.strftime("%m%d%Y_%H-%M-%S")
fname = date_time+".xml"
xdata.write(fname, pretty_print=True)
Grüße
PEter