Mit Python XML Tags aus XML-Dateien löschen
Kürzlich musste ich XML-Tags aus XML-Dateien löschen, um die entsprechenden XML-Dateien etwas übersichtlicher zu gestalten. Der richtige Weg wäre sicher gewesen, einen XSLT-Prozessor zu nutzen, der die entsprechenden Tags ausfiltert, aber mangels Zeit habe ich dann doch ein kleines Python-Skript gebaut. Die zu entfernenden Tags hatten auch keine Properties und ließen sich daher gut entfernen.
def filter(oldfile, newfile, filterStart, filterEnd): killFlag = 0 with open(newfile, 'w') as outfile, open(oldfile, 'r', encoding='utf-8') as infile: for line in infile: strIndex = line.find(filterStart) if (strIndex > -1) | (killFlag == 1): killFlag = 1 else: outfile.write(line) strIndex2 = line.find(filterEnd) if (strIndex2 > -1): killFlag = 0 filter('somexmlfile.xml', 'somefilteredxml.xml', '<xs:annotation>', '</xs:annotation>') |