### 一 .XML文档的结构良好性验证
结构良好的xml文档,需要遵守下面这些规则:
1.所有开始标签必须有对应的结束标签
2.元素可以嵌套,但是不可以重叠
3.有且只能有一个根元素
4.属性值必须使用引号
5.一个元素不能有两个同样属性名字的属性
6.注释不能出现在标签内部
7.没有转义的" <" 或者" $"不能出现在元素和属性的字符中
### 二.如何检查XML文档是否是良构的
test.xml如下:
<?xml version="1.0" encoding="utf-8"?>
<root>
<person age="18">
<name>hzj</name>
<sex>man</sex>
</person>
<person age="19" des="hello">
<name>kiki</name>
<sex>female</sex>
</person>
</root>
方法:以ElementTree模块为例,直接使用parse方法。如果不报错,这表示该XML是良构的
#encoding=gbk
from xml.etree import ElementTree as ET
try:
ET.parse('test.xml')
print '这是一个良构的XML文档'
except Exception,e:
print '这不是一个良构的XML文档'
print '可能原因:',e
运行结果:
这是一个良构的XML文档
将根标签最后</root>,换成<root>
运行结果:
这不是一个良