XML语法要求
XML相对于HTML更加自由化,标签名称可以进行自定义,通过XML模拟本机盘符文件树进行展示实现。
依旧是对上篇中提到的本机盘符文件树分别使用html与xml实现
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>xml与html对比</title>
</head>
<body>
<!--by Sccc -->
<ul>
<li>ssh</li>
<ul>vscode
<ul>extension
<ul>my-python
<li>languages</li>
<ul>out
<ul>
client
<li>debugger</li>
</ul>
</ul>
</ul>
</ul>
</ul>
</ul>
</body>
</html>
使用html实现,容易发现标签固定在 li,ul,ol且必须在body范围内进行实现。真正的根标签并不是第一个ul而是body标签

<?xml version="1.0" encoding="utf-8" ?>
<!--By Sccc-->
<C>
<ssh>.ssh文件</ssh>
<vscode>
<extensions>
<ms-python>
<languages>叶结点</languages>
<out>
<client>
<debugger>叶结点</debugger>
</client>
</out>
</ms-python>
</extensions>
</vscode>
</C>
使用xml实现,标签不固定可自定义化。
xml实现效果
在对xml编写时,容易发现,首行是需要对xml版本声明<?xml version="1.0"?>
也可以根据需求指定编码
在编写xml的几个注意点
-
大小写敏感问题
大小写不注意引发的错误
- 必须有且只能有一个根元素(Root Element)
本次示例的根元素就是<C>....</C>
- 标签必须对称,存在结束符号
此处与html不同,html会存在单闭合标签例如<br/>,<hr/>等
- 在处理空白字符时,不同于html,会保存输入的空格数
- 处理特殊字符,使用内部实体进行解决
特殊字符 | 替代符号 |
---|---|
小于符号(<) | < |
大于符号(>) | > |
and符号(&) | & |
双引符号(") | " |
单引符号(’) | ' |
参考链接:XML语法
第一篇:XML简介(1)--头部声明
第三篇:XML规范(3)--DTD限制
第四篇:XML引用(4)--DTD应用
第五篇:XXE基础(1)--实体类别
第六篇:XXE利用(2)--漏洞实现
第七篇:XXE后记(3)--抛砖引玉
网友评论