使用python写一个程序, 如果XML中“<....../>”没有被<!--XX_HLR_NUM--><!--END-->包含的,打印出该行号。 全文顶层“<....../>”例外。
时间: 2023-12-02 16:04:46 浏览: 74
好的,以下是一个示例代码,可以实现你的需求:
```python
import xml.etree.ElementTree as ET
def check_xml(xml_file):
tree = ET.parse(xml_file)
root = tree.getroot()
for elem in root.iter():
if elem.tag == "<....../>":
if not is_in_comment(elem):
print("Line %d: <%s/> not in comment" % (elem.sourceline, elem.tag))
def is_in_comment(elem):
parent = elem.getparent()
while parent is not None:
if parent.tag == "<....../>":
return True
elif parent.tag == "<!--XX_HLR_NUM--><!--END-->":
return True
parent = parent.getparent()
return False
check_xml("example.xml")
```
需要替换代码中的`<....../>`和`<!--XX_HLR_NUM--><!--END-->`为实际的XML节点名和注释内容。
阅读全文