def processOneSite(content): dom = xml.dom.minidom.parseString(content) root = dom.documentElement # 获取site_name site_name = root.getElementsByTagName("NODENAME")[0].childNodes[0].data site = Site(site_name) # 获取cell和eqm绑定节点 euCellPriBBEqm = root.getElementsByTagName("EuCellPriBBEqm") # 获取所有cell cells = root.getElementsByTagName("Cell") # 获取所有设备 baseband_eqms = root.getElementsByTagName("BASEBANDEQM") for eqm in baseband_eqms: baseband_eqm_id = eqm.getElementsByTagName( "BASEBANDEQMID")[0].childNodes[0].data bbp = BaseBandEqm(baseband_eqm_id) site.avaliBBqIdDecrease(baseband_eqm_id) bbp_type = eqm.getElementsByTagName( "BASEBANDEQMTYPE")[0].childNodes[0].data bbp.setType(bbp_type) elements = eqm.getElementsByTagName("element") for element in elements: CN = element.getElementsByTagName("CN")[0].childNodes[0].data SRN = element.getElementsByTagName("SRN")[0].childNodes[0].data SN = element.getElementsByTagName("SN")[0].childNodes[0].data new_element = bbp.Element(CN, SRN, SN) bbp.addElement(new_element) site.addBaseBandEqm(bbp) for cell in cells: local_cell_id = cell.getElementsByTagName("LocalCellId")[0] site.addCell(local_cell_id.childNodes[0].nodeValue) for eu in euCellPriBBEqm: attributes = eu.getElementsByTagName("attributes") for attribute in attributes: local_cell_id = attribute.getElementsByTagName("LocalCellId") bbp_id = attribute.getElementsByTagName("PriBaseBandEqmId") if len(local_cell_id) != 0: local_cell_id = local_cell_id[0].childNodes[0].data cell = site.search(local_cell_id) cell.setEqmId(bbp_id[0].childNodes[0].data) cell.setEqm(site.getEqm(bbp_id[0].childNodes[0].data)) g_site_dict[site.getName()] = site