|
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
|