xml
XML是一种元标记语言,所谓元标记就是开发者可以根据自己的需要定义自己的标记,比如开发者定义<name>,<book>标记,任何满足XML命名规则的名称都可以标记,
这就为不同的应用程序打开了大门。XML是Extensible Markup Language的缩写,中文全称是"可扩展标记语言",它是一种可以用来创建自定义标记的语言。XML结合了
SGML和HTML的优点并消除其缺点,从实现功能上来看,XML主要用于数据的存储,而HTML则主要用于数据的显示。XML与HTML一样,都是符合SGML
(Standard Generalized Markup Language,标准通用标记语言)的标准语言。XML是Internet环境中跨平台的、依赖于内容的技术,是当前处理结构化文档信息的有力工具,
虽然XML数据占用的空间比二进制数据要占用更多的空间,但是XML极其简单,易于掌握和使用。
例
HTML里描述一名学生:
<p>
student name
</p>
<ul>
<li>Student-id</li>
<li>Student-age</li>
<li>Student-class</li>
<ul>
XML里描述一名学生:
<student>
<title> student name </title>
<id> student_id <id>
<age> student_age <age>
<class> student_class <class>
</student>
HTML是一种预标记语言,它只认识<html>等已经定义的标记,不能识别用户自己定义的标记。在XML元标记语言里,任何满足XML命名规则的名称都可以作为标记,在上述代码
中我们可以看到,XML是有明确语义的,并且具有语言结构化,XML是一种简单的纯文本的数据格式。
XML声明:
<?xml version="1.0" encoding="utf-8"?>, "<?"代表一条指令的开始,"?>"一条指令的结束,"XML"代表文件是XML文件,"version='1.0'"代表此文件用到的是XML1.0标准,
"encoding='utf-8'"代表此文件所用字符集,如果不定义,默认Unicode。XML文件声明必须在文档的第一行。
XML语法规定:
1 一个格式良好的XML文档至少有一个元素
2 大小写是有差别的,比如<HOME>、<home>不是同一个标签
3 正确的结束标记
4 标记嵌套要正确
5 标记的命名合法
6 正确有效的使用属性,属性名称与属性值直接用=连接,且属性值用引号引起来。
7 注释 <!-- 1234567 -->
8 XML文档必须有根元素
XML
例
<?xml version="1.0" encoding="utf-8"?>
<xueshengliebiao>
<xuesheng>
<xuesheng_id>20150615</xuesheng_id>
</xuesheng>
<xuesheng>
...
</xuesheng>
</xueshengliebiao>
这是一个没有应用样式表的XML文档,如果直接在浏览器中预览该XML文档,看到的是文档的源文件。这是因为没有应用CSS样式,浏览器不知道怎么处理元素内容的显示方式,
所以只能原样显示。
创建CSS样式表文件
xuesheng {
display:block;
margin-top: 10px;
}
xuesheng_id {
display:block;
font-size:16px;
font-weight:bold;
}
.
.
.
在XML中应用CSS样式
<?xml version="1.0" encoding="utf-8">
<?xml:stylesheet type="text/css" href="style/a.css">
<xueshengliebiao>
...
.
.
</xueshengliebiao>
其中,"<?xml:stylesheet?>"是处理指令,用于告诉解析器XML文档显示时应用了CSS样式。"<?xml:stylesheet?>"中的冒号可以替换为短划线,type用来指定样式表文件的格式,
CSS样式表使用"text/css",href用来指定样式表的本地路径或者是web服务器的相对路径或者绝对路径。
@import指令用于在CSS文档中引用保存于其他独立文档中的样式表,使用格式如下:
@import url(URL),
其中,import指令必须放置在CSS文件的开头、
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端