From: James K. <jwk...@gm...> - 2020-11-01 12:45:20
|
Win-10, Java 1.8, current JMRI version, NetBeans IDE, Jython, elementTree I'm pulling elements from OperationsCarRoster.xml and want to delete some siblings. Since all siblings have the same name <car> how can I select and delete a specific car using attributes? for example how do I use elementTree Remove(subelement) to delete a car with id="MILW1001" i'm using Jython (Python) on Win-10 and elementTree here's all the code as I have it right now. import xml.etree.ElementTree as ET def __init__(self): #def open_car_xml_file(): global trainTree global trainRoot trainTree = ET.parse('train.xml') trainRoot = trainTree.getroot() #self.add_train_rfid_tags() print trainRoot def drop_car(self, car, engine, location): for elem in trainRoot: for subelem in elem.findall('car'): indentifier = str(subelem.get('engine', default=None)) if indentifier == engine: indentifier2 = str(subelem.get('id', default=None)) if indentifier2 == car: getDroppedCarData = [0,1,2,3,4,5,6,7] getDroppedCarData[0] = subelem.get('id', default=None) getDroppedCarData[1] = subelem.get('roadName', default=None) getDroppedCarData[2] = subelem.get('roadNumber', default=None) getDroppedCarData[3] = subelem.get('type', default=None) getDroppedCarData[4] = subelem.get('color', default=None) getDroppedCarData[5] = subelem.get('rfid', default=None) getDroppedCarData[6] = subelem.get('locationId', default=None) getDroppedCarData[7] = subelem.get('owner', default=None) (how do I using remove() to delete this record? return getDroppedCarData |