xml严格要求结构正确性:标签必须闭合、大小写敏感、属性值须加引号、嵌套需严谨、仅一个根元素;html则容错性强,允许省略闭合、不区分大小写、自动修正错误。

XML被称作“严格的”,是因为它把结构正确性当作硬性门槛——错一个符号、少一个闭合、大小写不一致,解析器就直接报错,拒绝处理。HTML则相反,浏览器默认开启“容错模式”,哪怕你漏掉
、把
写成
、属性不加引号,它也会尽力猜意图、自动补全、照常渲染。
标签必须闭合,不能省略
XML要求每个开始标签都得有对应结束标签,包括自闭合元素也得显式写成
。HTML中
、、等可以不写斜杠,甚至省略结束(旧写法),浏览器照认。
大小写敏感,区分name和NAME
在XML里,
属性值必须加引号,且嵌套需严谨
- XML中height=100是非法的,必须写成height=”100″或height=’100′
- 所有标签必须正确嵌套,
立即学习“前端免费学习笔记(深入)”;
这种交叉写法在XML中直接拒绝解析
- HTML允许这种嵌套错误,浏览器会内部重排结构,让它“看起来合理”
必须有且仅有一个根元素
XML文档开头就必须包裹在一个顶层标签下,比如…或
平级放在里),没问题。
本质上,XML是为机器间可靠交换数据设计的——不能靠“猜”,所以规则铁;HTML是为人写网页服务的——优先降低门槛,让页面能快速出来。不复杂但容易忽略。