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


相关推荐

  • js语法(1)_css语法

    js语法(1)_css语法js自动插入分号规则a.什么时候需要写分号什么时候不能写分号要有换行符,且下一个符号是不符合语法的,那么就尝试插入分号。有换行符,且语法中规定此处不能有换行符,那么就自动插入分号。源代码结束处,不能形成完整的脚本或者模块结构,那么就自动插入分号。noLineTerminatorhere规则表示它所在的结构中的这一位置不能插入换行符。带有标签的continue语句不能在continue后插入换行带标签的break语句不能在break后插入换行return后不能插入换行..

    2022年10月21日
    0
  • JS经常使用正則表達式【分享】

    JS经常使用正則表達式【分享】

    2022年1月19日
    39
  • IT行业分析(华为裁员)「建议收藏」

    IT行业分析(华为裁员)「建议收藏」近来忙于各种麻烦事务,知识图谱的多路归并一直未能跟进。但在写多路归并前,我想是时候先总结下我的这几年。总结的经验,不仅包括我个人这几年的见闻感悟与得失,也是80后这代的一个缩影,以及对社会的一些思考。首先直插正题,华为的裁员。华为我确实没呆过,不过这不妨碍我认定华为是一个人员流动性非常大的公司,和BAT、美团、京东、360、小米等等互联网公司一样大。谁更大我不知

    2022年7月18日
    34
  • labelImg闪退【解决方案】

    labelImg闪退【解决方案】转载请注明出处解决方案删除C:\Users\YourAccount\..labelImgSettings.pkl,重新打开labelImg,问题解决。【完】

    2022年6月25日
    151
  • SSM-Mybatis(1)[通俗易懂]

    SSM-Mybatis(1)[通俗易懂]Mybatis什么是MybatisMyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。第一个Mybatis程序搭建环境数据库CREATE DATABASE mybatis;uesr mybatis

    2022年8月8日
    4
  • 迁移学习——Domain Adaptation

    DomainAdaptation在经典的机器学习问题中,我们往往假设训练集和测试集分布一致,在训练集上训练模型,在测试集上测试。然而在实际问题中,测试场景往往非可控,测试集和训练集分布有很大差异,这时候就会出现所谓过拟合问题:模型在测试集上效果不理想。以人脸识别为例,如果用东方人人脸数据训练,用于识别西方人,相比东方人识别性能会明显下降。当训练集和测试集分布不一致的情况下,通过在训练…

    2022年4月16日
    39

发表回复

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

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