使用python读取xml所有数据后判断 所有节点是否被<!--XX_HLR_NUM--><!--END-->包含的

时间: 2023-09-21 16:06:24 浏览: 41
你可以使用Python的ElementTree库来读取XML文件,并使用正则表达式来判断节点是否被注释节点所包含。具体来说,你可以遍历XML树中的所有节点,并查找每个节点的前一个同级节点,判断该节点是否为注释节点,且其文本内容是否符合特定的正则表达式。 以下是一个示例代码,在读取XML文件后遍历所有节点,查找是否被注释节点包含: ```python import re import xml.etree.ElementTree as ET # 读取XML文件 tree = ET.parse('example.xml') # 获取根元素 root = tree.getroot() # 遍历所有节点并查找注释节点 for node in root.iter(): # 如果节点是根节点,则跳过 if node == root: continue # 查找当前节点的前一个同级节点 siblings = node.getparent().findall(node.tag) index = siblings.index(node) prev_node = siblings[index-1] if index > 0 else None # 如果前一个节点为注释节点,则判断是否包含当前节点 if isinstance(prev_node, ET.Comment) and re.search(r"XX_HLR_NUM", prev_node.text) and re.search(r"END", prev_node.tail): print("节点 %s 被注释节点包含" % node.tag) else: print("节点 %s 未被注释节点包含" % node.tag) ``` 在这个示例中,我们使用`root.iter()`方法遍历XML树中的所有节点,并逐个查找其前一个同级节点。如果前一个节点是注释节点,并且其文本内容符合特定的正则表达式,则判断当前节点被注释节点包含,否则判断当前节点未被注释节点包含。如果你需要根据实际情况进行调整,可以修改正则表达式以匹配你需要查找的注释节点文本内容。

相关推荐

最新推荐

recommend-type

中国移动蜂窝物联网NB-IOT核心网规范

2017年中国移动启动了蜂窝物联网一期工程,核心网建设内容包括:全国各省部分现网MME/SGSN和SAE-GW/GGSN的NB-IOT功能改造、6个省新建NB-IOT的vMME和vS-GW、以及物联网专网现网M-HLR/HSS、M-GGSN/PGW、M-CG的NB-IOT...
recommend-type

W-CS 信令分析手册

2.2.2 VLR内普通位置更新成功流程(涉及VLR和HLR) 2-5 2.2.3 VLR内普通位置更新失败流程 2-9 2.2.4 VLR间普通位置更新成功流程(使用IMSI发起) 2-14 2.2.5 VLR间普通位置更新成功流程(使用TMSI发起的位置更新,...
recommend-type

移动网络中信令寻址方式及其引申-DONGZW

所谓寻址,顾名思义指的就是找到目的地的地址。...DPC是目的地信令点编码,GT是全局码(Global title),SSN是子系统号(用于区别MSC/VLR、HLR等)。DPC+SSN和GT+SSN寻址的目的都是为了确定目的地信令点代码
recommend-type

各种呼叫流程详解-lv.doc

HLR 归属位置寄存器 IMSI 国际移动用户识别码 ISDN 综合业务数字网 HON 漫游号码 Kc 加密键 LAI 位置区标识 MS 移动用户 MSC 移动交换中心 MSRN 漫游号码 PSTN ...
recommend-type

看懂你的手机号码CC + MAC + H0 H1 H2 H3 + ABCD MCC + MNC + MSIN TLDN ESN SID NID REG_ZONE BSID

MDN号码为本网移动用户作被叫时,主叫用户所需拨的号码...CC:是国家码,中国使用86。 MAC:是移动接入码,本网采用网号方案,为133。 H0H1H2H3:HLR识别码,由联通总部统一分配。 ABCD:移动用户号,由各HLR自行分配。
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

2. 通过python绘制y=e-xsin(2πx)图像

可以使用matplotlib库来绘制这个函数的图像。以下是一段示例代码: ```python import numpy as np import matplotlib.pyplot as plt def func(x): return np.exp(-x) * np.sin(2 * np.pi * x) x = np.linspace(0, 5, 500) y = func(x) plt.plot(x, y) plt.xlabel('x') plt.ylabel('y') plt.title('y = e^{-x} sin(2πx)') plt.show() ``` 运行这段
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。