XML基础

XML基础知识讲解 XML(eXtensible Markup Language)是一种用于描述数据的标记语。它以纯文本的方式存储数据,并使用标签来标记数据的结构和含义。XML被设计用于传输和存储数据,同时也可作为配置文件和数据交换的格式。xml文档中只能有一个根标签结束标签比开始标签多了一个标签的定义有开始必须要有结束标签必须是合理嵌套每个标签可以有多个属性,但是属性不能相同属性和属性之间要使用引号(单引号或双引号)属性名称的命名规范和元素名称的命名规范相同示例:-- 注释内容 -->注释不能嵌套。 阅读详情

XML作为一种通用的数据交换格式,应用越来越广泛。目前许多系统的配置文件都使用XML格式,本书中所涉及到的众多配置文件都是XML格式的,新的JSP规范也推出了采用XML语法的JSP文档,因此,要深入学习和掌握Java Web开发技术,必须有一些基本的XML语言知识。由于XML的通用性和广泛应用,在读者以后实际项目开发和应用中,很多地方都要用到XML方面的知识,所以,对XML知识的了解和掌握,已经是从事电子商务网站和相关系统开发的编程人员所必须掌握的基本知识。

F指点迷津:什么是配置文件

配置文件就是记录应用程序的配置信息的文件。例如,某个程序要连接网络上的数据库系统时,需要指定数据库服务器的ip地址、服务器的网络监听端口号、数据库的名称、用户名和密码等信息,这些信息可以作为应用程序的配置信息来对待,即不要将这些信息写死在源程序中,而是写在一个文本文件中。应用程序要连接数据库系统时,从该文本文件中读取所需要的信息,如果连接的数据库系统的信息发生了改变,则只需要修改该文本文件,而不用修改源程序,这个文本文件就是应用程序的配置文件。传统的配置文件通常采用如下格式:

#Db.Properties

DBServer=192.168.0.100

Port=1443

Database=emp

Username=zxx

Password=123

上面这种格式的配置文件只能表述一些简单的信息,而很难表达具有层次结构和数据项目要动态增加的信息。例如,如果要在一个文件中表达出“一个国家中的每个省及省长的名称、每个省下面的每个市及市长的名称、每个市下面的每个镇及镇长名称”,使用上面的格式就很难表达。采用XML格式的配置文件很容易表达出这种层次结构,具体细节请参看本章后面部分的讲解。

文档声明

在一个完整的XML文档中必须包含一个XML文档声明,该声明必须位于文档的第一行。这个声明表示该文档是一个XML文档,以及遵循的是哪个XML版本的规范。最简单的XML文档声明语法如下:

<?xml version="1.0" ?>

在“<”和“?”之间、“?”和“>”之间以及第一个“?”和xml之间不能有空格,这就是XML语法严格性的一个体现。在第二个“?”之前可以没有、也可以有一个或多个空格。声明语句中的version属性表示XML的版本,因为解析器对不同的版本的解析肯定会有区别,尽管目前只有1.0版本,但在声明中必须指定version属性。

由于人们可以采用不同的字符编码集来书写一个字符内容完全相同的XML文档,所以,XML软件工具(包括分析器)就需要知道该XML文档所使用的字符编码方式。这可以通过在XML文档声明中指定encoding属性来说明,例如,使用下面的语句来指明文档中的字符编码方式为GB2312编码。

       <?xml version="1.0" encoding="GB2312" ?>

W3C的XML1.0规范里规定,所有的XML解析器必须接受UTF-8和UTF-16编码的Unicode字符,所以,符合 XML 规范的软件工具一定都支持这两种Unicode编码。如果XML声明中没有设置encoding属性来明确指定文档所用的字符编码方式,则一律以Unicode编码看待。XML解析器通过寻找XML文档开始处的字节顺序标记,能够自动检测出文档中的Unicode编码是UTF8,还是UTF16。也就是说,encoding属性默认的设置是Unicode编码,如果文档中的字符是以UTF-8或者是UTF-16作为编码,则可以不设置这个属性。

在XML文档声明语句中,还可以指定另外一个可选属性:standalone,例如:

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

standalone属性用于说明文档是否是独立的,如果将其设置为“yes”,则表示该文档没有依赖外面的任何文件而可以独立存在,即不需要DTD文件来验证其中的标识是否有效,也不需要XSL、CSS文件来控制其显示外观;将standalone属性设置为“no”时,则表示该文档依赖于外面的某个文件,例如,依赖于某个DTD文件或XSL、CSS文件。standalone属性的默认值为“yes”。

注意:如果同时设置了encoding和standalone属性,standalone属性要位于encoding属性之后。

:动手体验:加深对encoding属性的理解

对于含有中文字符的XML,其中的字符可以采用unicode来编码或GB2312(简体中文字符编码)编码来表示,如果文档中的字符使用的是GB2312编码,则必需设置为encoding属性为GB2312,下面通过一个实验来说明这个问题。

(1)用Windows自带的记事本程序创建一个名为book.xml的文件,文件内容如例程1-1所示。

例程1-1  book.xml

 


<?xml version="1.0" ?>

<书架>

    <书>

        <书名>Java就业培训教程</书名>

        <作者>张孝祥</作者>

        <售价>39.00元</售价>

    </书>

    <书>

        <书名>JavaScript网页开发</书名>

        <作者>张孝祥</作者>

        <售价>28.00元</售价>

    </书>

</书架>

 

 


(2)用IE5.0以上的浏览器打开book.xml文件,看到的结果如图1.2所示。

 

错误提示的信息是“文本内容中发现无效字符”,这就是因为在book.xml的XML文档声明语句中没有明确指定文档中的字符编码方式,浏览器就会用默认的Unicode编码来解析该文档,而该文档中的字符实际上使用的是GB2312编码,而非Unicode编码。

(3)单击浏览器的“查看”à“源文件”菜单,将打开的book.xml文件内容中的第一行修改成如下形式:

    <?xml version="1.0" encoding="GB2312" ?>

保存修改后,刷新显示book.xml文件的浏览器窗口,看到的结果如图1.3所示。单击某个标签前面的减号(-),嵌套在该标签中的所有内容将被折叠起来,标签前面的减号(-)也将变成加号(+)。单击某个标签前面的加号(+),嵌套在该标签中的所有内容将被展开,标签前面的加号(+)也将变成减号(-)。

(4)在上面打开book.xml文件的记事本程序中,单击“文件”à“另存为”菜单,在打开的“另存为”对话框中,选择“保存类型”为“所有文件”,编码为“UTF-8”,如图1.4所示。

以UTF-8编码保存book.xml文件后,尽管在记事本程序窗口中显示的效果没有任何变化,但是book.xml文件内部存储的数据已经改变,这通过比较book.xml保存前后的文件大小就可以看出来。刷新显示book.xml文件的浏览器窗口,看到的结果如图1.5所示。

因为现在的book.xml文件的字符编码已经转换为UTF-8,而文档的起始声明中指定encoding属性为GB2312,所以,浏览器在解析book.xml文件时会发生错误。

(5)将book.xml的文档起始声明的encoding属性修改为UTF-8,保存后刷新显示book.xml文件的浏览器窗口,就又可以看到类似图1.3所示的正常显示效果了。

Trackback: http://tb.blog.youkuaiyun.com/TrackBack.aspx?PostId=760127

XML的基础 提示:这里对文章进行总结:没有总结。 阅读详情

相关推荐

vivado中出现ERROR: [Labtools 27-2220]检测不出开发板

这个错误可能是由于 Vivado 工具中的 cs_server.exe 文件没有正确安装或者文件路径不正确导致的。你可以尝试以下步骤来。时间: 2023-08-16 12:05:50 浏览: 767。希望以上方法能够帮助你。

qq_40510975的博客 2388

XML应用简介

在本章中,我们将要查看XML的几个应用实例、用来进一步改进XML的标记语言和在后台使用的XML。看一看XML的某些应用,即使只是发展的初级阶段,也是令人鼓舞的。本章将向读者讲述XML的广泛应用性的某些看法。在我写作本书时,更多的XML应用正在创建并与其他格式的应用接轨。 第五部分更为详细地讲述了本章中讨论过的一些XML应用程序。 本章的主要内容包括: ·         什么是XML应用程序

!Java 5616

莆田市C++专项选拔第一轮题4

现在小明同学想要从两堆硬币中各选择一枚硬币,使得两枚硬币的面值之和 不超过 k。不同的硬币组合,就算面值相同,也视为不同的方案。现在他把这些硬币分成了两堆,已知两堆硬币分别有 n 和 m 枚硬币。可选方案有: (1,2), (1,1), (1,1), (5,2), (5,1), (5,1),共 6 种。第一行三个整数 n, m, k,分别表示第一堆硬币的数量,第二堆硬币的数量,以及面值之和的上限。对于30%的数据,1 ≤ n , m ≤ 1000 , 1 ≤ b , c ≤ 1000。

lpstudio的博客 925

XML 基础介绍

XML 是独立于软件和硬件的信息传输工具,这篇博客是对 XML 的基本介绍

Lyrelion的博客 2565

Spine动画在Unity里卡顿、闪烁、排序错乱?这些性能优化与渲染问题一次讲清

本文深入解析了Spine动画在Unity中常见的卡顿、闪烁和排序错乱问题,提供了全面的性能优化与渲染解决方案。从性能瓶颈诊断到材质合并、动态合批优化,再到层级错乱与Alpha闪烁的处理,帮助开发者提升动画表现和运行效率。特别针对Unity和Spine的协同工作进行了详细的技术探讨。

weixin_29967445的博客 381

window系统 dlib库安装

1. 安装visual studio 1.1. 安装vs2017或以上版本 1.2. 我们需要安装使用C++的桌面开发,且必须选上用于Cmake的Visual C++工具 1.3. 安装完成后,将D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin 添加到环境变量PATH中 2 下载cmake文件,并添加环境变量 2.1 在c

@bangbang的博客 816

XML基础介绍

说起XML,大家都会想起HTML,连接中是我HTML的简单总结,这篇我将重点总结一下XML的基础知识。            首先:HTML(HyperText Markup Language),即超文本标记语言,是用于描述网页文档的一种描述标记语言。                                  而XML(Extensible Markup Language),是

学会改变自己——才能突破 1万+

26、机器学习模型的成员推断攻击与隐私保护

本文探讨了机器学习模型面临的成员推断攻击及其对隐私的潜在威胁。通过使用CIFAR-10数据集,详细介绍了如何利用影子模型和攻击模型推断特定数据点是否属于模型的训练集。实验表明,即使无法直接访问模型参数和原始数据,攻击者仍能以高于随机猜测的概率进行推断,从而构成隐私风险。此外,文章还分析了实验的关键技术点,并提出了多种隐私保护建议,包括数据脱敏、差分隐私、模型正则化等方法。

coffee的博客 123

XML基础速成

文章目录一、XML简介二、XML语法2.1 标记2.2 元素2.3 属性三、XML元素之间的关系四、XML名称命名规则4.1 XML实体应用4.2 XML CDATA区4.3 XML注释4.4 XML声明4.5 格式正确的XML文档。4.6 XML命名空间4.7 DTD和XML Schema 一、XML简介 XML是一种标记语言,用于描述数据,它提供一种标准化的方式来来表示文本数据。 XML文档以.xml为后缀。需要彻底注意的是XML是区分大小写的。 先从一个简单的XML例子来了解下xml基础: &lt

craftsman2020的博客 570

QT里获取UUID当做唯一文件名称

QT里获取UUID当做唯一文件名称

545

搞定最强大模型Gemini学生订阅,白嫖一年,包教包会

白嫖现在最强大模型

BUG猿的博客 2万+

XML外部实体注入--XML基础

XML 即可扩展标记语言(Extensible Markup Language),用于标记电子文件,使其具有结构性。它是一种允许用户对自己的标记语言进行定义的源语言,可用来标记数据、定义数据类型。

qq_37107430的博客 1634

【专栏目录】

🌟 深度学习工程师的终极武器库!本专栏深度解析近3年CV领域最前沿的YoloV8改进方案,每一种方法都经过实战验证,性能显著提升!🌟。

m0_47867638的博客 1万+

xml基础

本文主要是学习XML 的笔记!

墨城烟柳ベ旧人殇的博客 3764

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Java 基础之读写XML

记录一下Jave中读写XML的基础使用方法,本文描述了在java中加载xml,读取xml节点和属性数据,修改节点和属性数据,将修改保存到文件等方法。并提供了多种方式,包括DOM、DOM4J等。

QIFU的专栏 1523

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

XML基础学习

DTD是用来规范XML文档格式,既可以用来说明哪些元素/属性是合法的以及元素间应当怎样嵌套/结合,也用来将一些特殊字符和可复用代码段自定义为实体DTD可以嵌入XML文档当中(内部声明),也可以以单独的文件存放(外部引用)

2201_75857869的博客 752

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

XML的基础知识

XML的基础知识一、什么是XML?二、XML的树结构1.XML文档的基本结构2.XML文档实例3.书店的XML表示示例三、XML的语法1.XML的语法规则2.XML的实体引用 一、什么是XML? XML 指可扩展标记语言(EXtensible Markup Language); XML 是一种标记语言,很类似 HTML; XML 的设计宗旨是传输数据,而非显示数据; XML 标签没有被预定义,需...

weixin_43951995的博客 943

JavaEE基础之- xml

xml文档约束是用另一个文件来约束xml文档的结构,例如要求xml文档的根元素必须是 <students> ,在 <students> 元素下可以包含0~n个 <student> 元素,每个 <student> 元素必须有一个number属性,而且还要有三个子元素,分别为<name>、<age>、<sex>,这三个子元素的内容必须为文本内容,而不能是子元素。一个应用程序如果需要DOM或SAX来访问XML文档,还需要一个实现了DOM或SAX的解析器,也就是说这个解析器需要实现DOM或SAX中定义的接口。

m0_75163045的博客 1439

XML学习之基础

XML基础 XML被设计用来传输和存储数据。 XML指可扩展标记语言 XML是一种标记语言,类似HTML XML的设计宗旨是传输数据,而非显示数据 XML标签没有被预定义。需要自行定义标签 XML被设计为具有自我描述性。 XML树结构 XML文档形成了一种树结构,它从“根部”开始,然后扩展到“枝叶”。 <?xml version="1.0" encoding="utf-8"?> <note> <to>George</to> <from>John

weixin_43216479的博客 184

xml编程基础试卷_新用户的XML基础

XML代表可扩展标记语言, 标记位是关键。 您可以创建内容并用定界标记对其进行标记,使每个单词,短语或数据块成为可识别的可排序信息。 您创建的文件或文档实例由元素(标签)和内容组成,当从打印输出中读取甚至进行电子处理时,这些元素有助于很好地理解文档。 元素的描述性越强,可以识别的文档部分就越多。 从标记的早期到今天,标记内容的一个优点是,如果计算机系统丢失,仍可以从其标记中了解打印的数据 。 ...

cuyi7076的博客 442

XML基础入门

1.概念 1.概念:XML(extensible markup language)可扩展标记语言 可扩展:标签都是自己定义的 作用: 存储数据: 1.配置文件 2.在网络中传输 xml与html的区别: xml的标签都是自定义的,html标签都是预定义的 xml的作用是存储数据,html的作用是展示数据 ...

qq_36450449的博客 370
上一篇: Dead Reckoning: 在网络游戏中消除延时影响
下一篇: 一种简单、快速、高效的多边形减面算法
amdk_7
博客等级 码龄22年 12粉丝 2原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值