使用python判断 如果XML中“<....../>”没有被<!--XX_HLR_NUM--><!--END-->包含的,报错。 全文顶层“<....../>”例外。
时间: 2023-12-02 09:04:46 浏览: 64
检查XML文件是否正确
如果要在判断中排除顶层的自闭合标签,可以在代码中添加一个判断条件,例如:
```python
import xml.etree.ElementTree as ET
# 加载XML文件
tree = ET.parse('example.xml')
root = tree.getroot()
# 检查每个XML元素是否被注释包含
for elem in root.iter():
if elem.tail is not None and '<' in elem.tail and '>' in elem.tail:
if '<!--XX_HLR_NUM-->' not in elem.tail or '<!--END-->' not in elem.tail:
# 排除顶层的自闭合标签
if elem != root and elem.getparent() != root:
raise ValueError('XML element not contained in comment: ' + ET.tostring(elem).decode())
```
以上代码中,我们在判断中添加了一个条件,即当前元素不是顶层元素,也不是顶层元素的子元素。这样可以排除顶层的自闭合标签,只对其他元素进行判断。
阅读全文