目录
WebGoat系列其他文章:WebGoat8 答案与难题题解 系列文章目录
01 什么是XML语言
XML(EXtensible Markup Language),可扩展标记语言,是一种用于标记电子文件,使其具有结构性的标记语言,可以用来标记数据,定义数据类型。与HTML不同:HTML被设计来显示数据,XML被设计来传输数据。
例如下图中的代码就是XML代码:
02 实体、外部实体
实体是XML中一种用来指代指定字符的引用,在XML解析器运行时,解析器会用指定字符替换实体来执行文件。实体都以"&"开头,以";"结束。例如:"&" 是指代"&"字符。实体必须在DTD中被合法创建才能在后续的代码中被使用。
例子:
<?xml version="1.0"?>
<!DOCTYPE test [
<!ENTITY aaa "This is text">
]>
<p>&aaa;</p>
创建内部实体的格式是
<!ENTITY {实体名} "{用来替代实体的文本}">
在这段代码中,<!ENTITY aaa "This is text">创建了一个名为aaa的内部实体,用来代替This is text这段文本。
调用的格式是:
&{实体名};
通过&aaa;对实体进行调用,在执行时,&aaa;会被XML解析器用This is text代替。
实体通常分成:
- 外部实体
- 内部实体
- 参数实体
外部实体和内部实体是相对而言的。外部实体引用的是来自外部的文件,而内部实体引用的通常是字符串ÿ