XMl简单语法笔记

XMl简单语法笔记

XML语法

首先一个xml文件分为如下几个部分:

  1. 文档声明
  2. 元素/标签
  3. 属性
  4. 注释
  5. CDATA区域(特殊字符)
  6. 处理指令(processing instruction)

(1)文档声明

<?xml version="1.0" encoding="UTF-8" standalone="yes ?>

 

在编写XML文档时,需要先使用文档声明,声明XML文档的类型

最简单的声明语法:

<?xml version =”1.0″?>

用encoding 属性说明文档的字符编码:

<?xml version = “1.0” encoding =”GB2312″ ?>

用standlone 属性说明文档是否独立

<?xml version = “1.0” encoding = “GB2312  standlone = “yes”?>

(2)元素/标签

  • XML元素指的是xml文件中出现的标签,一个标签分为开始标签和结束标签。   

     标签有如下几种书写形式。例如:

     包含标签体:<a> www.baidu.com</a>

     不包含标签体的<a></a> ,简写为</a>

  • 一个标签中可以嵌套若干子标签。但不允许交叉嵌套。

      交叉嵌套,例如。

              <a> welcome to <b>www.baidu.com</a></b>

  • 格式良好的XML文档必须有且仅有一个根标签,其它标签都是这个跟标签的子孙标签。
  • 对于xml标签中出现的所有空格和换行,xml解析程序都会当做标签内容进行处理。例如:下面两端内容的意义是不一样的
  • 由于空格和换行都作为原始内容被处理,所以使用换行和缩进等方式来让原文件中的内容清晰可读的”良好”书写习惯可能要被迫改变。

元素命名规范:一个XML元素可以包含字母、数字以及其它一些可见字符,但必须遵守下面的一些规范
①区分大小写,例如<P><p>是两个不同的标记。
②不能以数字或”_”(下划线)等标点字符开头。
③不能以XML(或XML、或Xml等)开头。
④不能包含空格
⑤名称中间不能包含冒号(:)。

(3)属性

  • 一个标签可以有多个属性,每个属性都有它自己的名称和取值,例如<input name="text">
  • 属性值一定要用双引号(")或单引号(')引起来。
  • 定义属性必须遵循与标签相同的命名规范。

多学一招,在xml技术中,标签属性所代表的信息。也可以被改成用子元素的形式来描述。例如:

<input>
		<name>text</name>
</input>

(4)注释

  • XML文件中注释采用:<!--注释内容-->
  • XML声明之前不能有注释,注释不能嵌套。

(5)CDATA区、特殊字符

 a、CDARA区

在编写xml文件时,有些内容,可能不想让解析引擎解析执行,而是当做原始内容处理,这些内容放在CDATA里面,对于cdata区域的内容,XMl解析程序不会处理,而是直接原封不动的输出。

		<![CDATA[
			<href>
				<br/>
			</href>
		]]>

b、特殊字符

特殊字符 替代符号
& &amp;
< &lt;
> &gt;
&quot;
&apos;

(6)处理指令(processing instruction)

  • 处理指令PI,用来指挥解析引擎如何解析XML文档内容。
  • 例如,在XML文档中可以使用xml-stylesheet指令,通知XML解析引擎,应用css文件显示xml文档内容。
<?xml-stylesheet type="text/css" href="1.css"?>
  • 处理指令必须以”<?“作为开头,以”?>“作为结尾,XML声明语句就是最常见的一种处理指令。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/114774.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Swift4 String截取字符串

    Swift4 String截取字符串varstr1="AlexanderYeah";//1截取字符串的第一种方式//prefix截取前3个字符串varstr2=str1.prefix(3);print(str2);//suffix截取后3个字符串varstr3=str1.suffix(3);print(str3);//2截取一个范围的字符串//从0开始到倒数第二位结…

    2022年5月12日
    40
  • python换行符使用_python中怎么换行?「建议收藏」

    python换行符使用_python中怎么换行?「建议收藏」Windows换行符是’\r\n’,Unix/Linux的换行符为’\n’,Mac的换行符为’\r’,在python中,对换行符进行了统一处理,定义为’\n。方法一、使用“\”进行换行输入:1、在python中,Python用反斜线(“\”)作为续行符(换行符),这里以python3.5为例。首先运行终端或者cmd命令行(windows下),执行python3.5的命令。2、然后输入如下图所…

    2022年8月30日
    2
  • Windows server WSUS补丁服务器搭建

    写在前面关于微软Windows操作系统补丁更新,针对于客户生产环境补丁更新,为了安全起见不得不建议搭建相应的补丁服务器,利用自动或者手动更新指定服务器的最新补丁。借用闲暇时间做相应的总结,方便后期工作中参考。搭建条件首先安装相应的.NET环境,IIS环境, 存放补丁包,需要充裕的磁盘空间。搭建过程首先下载Wsus3.0的安装文件,这里给出简体中文版的下载地址,…

    2022年4月1日
    56
  • FPN总结[通俗易懂]

    FPN总结[通俗易懂]经典的twostage检测网络有:fasterRCNN和SSD,它们用于做bboxregression的模型各有不同,fasterRCNN是VGG,featuremap经过不断地下采样,最后的featuremap送入RPN层,这样不断地下采样使得小检测框的像素非常小,无法进行训练的到,得到很好的结果。而SSD则是分别对不同尺寸的featuremap进行bboxregression,…

    2022年5月2日
    49
  • tomcat java_tomcat和maven的区别

    tomcat java_tomcat和maven的区别复杂的sql查询环境搭建CREATE TABLE `teacher` ( `id` INT(10) NOT NULL, `name` VARCHAR(30) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=INNODB DEFAULT CHARSET=utf8INSERT INTO teacher(id, name) VALUES (1,’秦老师’); CREATE TABLE `student` ( `id` INT(10) NOT NULL

    2022年8月8日
    5
  • WebUploader学习(一)基础知识学习

    WebUploader学习(一)基础知识学习WebUploaderwebuploader支持多图上传,大文件上传,压缩图片上传,拖拽上传,显示上传进度,预览等当上传的需求要求可预览、显示上传进度、中断上传过程、大文件分片上传等等,这时传统的

    2022年8月4日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号