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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Codeforces 456 A. Laptops「建议收藏」

    Codeforces 456 A. Laptops「建议收藏」题目链接:http://codeforces.com/contest/456/problem/A提示:一共有n个数,而且a[i],b[i]都<=n;所以我们只需要找当a!=b的时候就行了,代码如下:#include<cstdio>#include<iostream>#include&l…

    2022年10月10日
    1
  • 【ztree系列】树节点的模糊查询

    【ztree系列】树节点的模糊查询以前设计模糊查询的功能,一般都是针对表格来做的,还真没考虑过对tree进行模糊查询,也可能是因为遇到的数据量还没到头疼的程度吧。为了完美的实现模糊查询的效果,搞了半天css,对输入框显示效果的设置更是修改了n多次,什么半圆角、边框、光影。。。真佩服我这颗屡试屡换的小心脏啊一、页面设计对于搜索功能,首先要有输入框,用于接收输入内容;然后就是显示搜索结果用的标签,控制焦点用的上移下动按钮。其实

    2022年5月29日
    298
  • vue子组件向父组件传值的三种方式_vue子组件改变父组件的值

    vue子组件向父组件传值的三种方式_vue子组件改变父组件的值1、前言日常积累,欢迎指正2、正文vue2.6.11博客正文为三种方法的核心代码记录,源代码在vue-project的分支dev-005,可以直接获取代码运行查看2.1、子组件中直接this.$parent.parentNameInParentMethod()/**父组件*/exportdefault{methods:{search…

    2022年10月2日
    2
  • Cocos2d Lua 越来越小样本 内存游戏

    Cocos2d Lua 越来越小样本 内存游戏

    2022年1月6日
    255
  • 标准化和归一化,请勿混为一谈,透彻理解数据变换[通俗易懂]

    标准化和归一化,请勿混为一谈,透彻理解数据变换[通俗易懂]标准化与归一化1、标准化(Standardization)和归一化(Normalization)概念1.1、定义1.2、联系和差异一、联系二、差异1.3、标准化和归一化的多种方式2、标准化、归一化的原因、用途3、什么时候Standardization,什么时候Normalization4、所有情况都应当Standardization或Normalization么5、一些其他的数据变换方式5.1、l…

    2022年6月23日
    36
  • 面试逻辑题_经典的20道逻辑题

    面试逻辑题_经典的20道逻辑题第一题:10颗完全相同的糖果,分给三个小朋友,每个人至少一颗糖,有几种分法第二题:-2到2区间,xy两个数相加小于1的概率其实就是在平面坐标系中画出x+y=1的直线。求直线下面的面积就好了

    2022年8月1日
    4

发表回复

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

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