【XML基础】XML语言简介及简单例子_xml例子-程序员宅基地

技术标签: xml  html  # 筑基05:语言基础  

1 XML语言简介

  1. XML语言,是指可扩展标记语言(EXtensible Markup Language)。
  2. 学习基础。在此之前,我们了解了JTML、CSS、JS三种语言的分工,如下:
    1. HTML:定义网页的内容;
    2. CSS:规定网页的布局;
    3. JavaScript:对网页行为进行编程。
  3. 当增加了XML语言后,分担了一部分HTML的工作内容。
    1. XML:用来传输和存储数据;
    2. HTML:用来显示数据。
    3. CSS:规定网页的布局;
    4. JavaScript:对网页行为进行编程。

2 XML语言的意义

  1. 主要意义在于简化数据的存储和共享,详细表现如下:
  2. XML 把数据从 HTML 分离
    1. 如果你需要在 HTML 文档中显示动态数据,那么每当数据改变时将花费大量的时间来编辑 HTML。通过 XML,数据能够存储在独立的 XML 文件中。这样你就可以专注于使用 HTML 进行布局和显示,并确保修改底层数据不再需要对 HTML 进行任何的改变。
    2. 通过使用几行 JavaScript,你就可以读取一个外部 XML 文件,然后更新 HTML 中的数据内容。
  3. XML 简化数据共享
    在真实的世界中,计算机系统和数据使用不兼容的格式来存储数据。XML 数据以纯文本格式进行存储,因此提供了一种独立于软件和硬件的数据存储方法。这让创建不同应用程序可以共享的数据变得更加容易。
  4. XML 简化数据传输
    通过 XML,可以在不兼容的系统之间轻松地交换数据。对开发人员来说,其中一项最费时的挑战一直是在因特网上的不兼容系统之间交换数据。由于可以通过各种不兼容的应用程序来读取数据,以 XML 交换数据降低了这种复杂性。
  5. XML 简化平台的变更
    升级到新的系统(硬件或软件平台),总是非常费时的。必须转换大量的数据,不兼容的数据经常会丢失。XML 数据以文本格式存储。这使得 XML 在不损失数据的情况下,更容易扩展或升级到新的操作系统、新应用程序或新的浏览器。
  6. XML 使您的数据更有用
    由于 XML 独立于硬件、软件以及应用程序,XML 使您的数据更可用,也更有用。不同的应用程序都能够访问您的数据,不仅仅在 HTML 页中,也可以从 XML 数据源中进行访问。通过 XML,您的数据可供各种阅读设备使用(手持的计算机、语音设备、新闻阅读器等),还可以供盲人或其他残障人士使用。

3 XML树结构

  1. XML 文档形成了一种树结构,它从“根部”开始,然后扩展到“枝叶”。
    1. 父、子以及同胞等术语用于描述元素之间的关系。父元素拥有子元素。相同层级上的子元素成为同胞(兄弟或姐妹)。
    2. 所有元素均可拥有文本内容和属性(类似 HTML 中)。
  2. 第1行是 XML 声明。它定义 XML 的版本 (1.0) 和所使用的编码 (ISO-8859-1 = Latin-1/西欧字符集)。
  3. 第2行描述文档的根元素(像在说:“本文档是一个便签”)。
  4. 第3~7 行描述根的 4 个子元素(to, from, heading 以及 body)。
  5. 第8行定义根元素的结尾。
<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>

4 语法规则

4.1 所有 XML 元素都须有关闭标签

在 HTML,经常会看到没有关闭标签的元素,但是在 XML 中,省略关闭标签是非法的,所有元素都必须有关闭标签。

4.2 XML 标签对大小写敏感

  1. XML 元素使用 XML 标签进行定义。
  2. XML 标签对大小写敏感。
  3. 必须使用相同的大小写来编写打开标签和关闭标签。

4.3 XML 的属性值须加引号

与 HTML 类似,XML 也可拥有属性(名称/值的对)。在 XML 中,XML 的属性值须加引号。如以下代码:

<note date="08/08/2008">
<to>George</to>
<from>John</from>
</note> 

4.4 实体引用

  1. 在 XML 中,一些字符拥有特殊的意义。
  2. 如果你把字符 “<” 放在 XML 元素中,会发生错误,这是因为解析器会把它当作新元素的开始。为了避免这个错误,请用实体引用来代替 “<” 字符:
<message>if salary &lt; 1000 then</message> 
  1. 类似的5个实体引用如下。在 XML 中,只有字符 “<” 和 “&” 确实是非法的。大于号是合法的,但是用实体引用来代替它是一个好习惯。
实体引用 符号 名称
&lt; < 小于
&gt; > 大于
&amp; & 和号
&apos; 单引号
&quot; " 引号

4.5 XML 中的注释

在 XML 中编写注释的语法与 HTML 的语法很相似:

<!-- This is a comment --> 

4.6 XML 空格会被保留

  1. HTML 会把多个连续的空格字符裁减(合并)为一个;
  2. 在 XML 中,文档中的空格不会被删节。

4 总结

  1. 了解XML如何与HTML、CSS、JavaScript分工合作;
  2. 了解XML树结构及元素、属性;
  3. 了解XML语法注意事项。

参考文献

  1. XML 教程》W3school对XML的文本教程。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Fighting_hawk/article/details/123638147

智能推荐

南阳理工-35-程序员宅基地

文章浏览阅读65次。http://acm.nyist.net/JudgeOnline/problem.php?pid=35#include<iostream>#include<cstdio>#include<cstring>#include<stack>#include<algorithm>using namespace st..._南阳理工学院有csdn

使用elementUI的时候,使用Upload 上传的时候,使用 list-type 属性来设置文件列表的样式,before-upload方法失效...-程序员宅基地

文章浏览阅读6.7k次。最近在做项目的时候,使用elementUI的时候,使用Upload上传的时候,before-upload方法失效。情况下:使用list-type属性来设置文件列表的样式。最终的优化之后:(演示的是修改)需求:1、已经提交的附件不可删除,新上传的附件可以删除2、图片附件不能上传其他格式的文件,一次可以多张上传图片,最多上传3张,最大不超过2M3、文件附件不能上传除了图片..._el upload list-type

FunPlus面经(2016-11-20更新)_funplus 面试题-程序员宅基地

文章浏览阅读2.7k次。FunPlus面经_funplus 面试题

彻底防止Windows 7/8/8.1升级更新到Windows 10_win7/win8.1不想升级win10-程序员宅基地

文章浏览阅读3k次。转自 http://wangye.org/blog/archives/1035/去年7月写过一篇文章讲解如何去除扰人的获取Windows 10的图标,那时候微软也只是推送了获取Windows 10的提示,具体安装Windows 10与否还是有显著的选项让用户自己选择的。虽然通过先前的方法确实抑制了升级Windows 10的提示,怎奈微软接下来连续放大招推送升级补丁,并且不怎么明显的“诱使”_win7/win8.1不想升级win10

Android主流三方库源码分析(一、深入理解OKHttp源码)_android中okhttp源码解析-程序员宅基地

文章浏览阅读619次。前言成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~。更好的阅读体验请跳转至个人博客前两篇我们详细分析了View的核心源码—Android的触摸事件传递机制和Android View的绘制流程,从这篇开始,笔者接下来将会陪大家深入分析目前Android中大部分的主流开源框架源码,从而能够让我们真正地去理解这些优秀开源框架背后的思想,真真切切地..._android中okhttp源码解析

!! 浅谈Java学习方法和后期面试技巧-程序员宅基地

文章浏览阅读61次。浅谈Java学习方法和后期面试技巧昨天查看3303回复33部落用户大酋长下面简单列举一下大家学习java的一个系统知识点的一些介绍一、java基础部分:java基础的时候,有些知识点是非常重要的,比如循环系列。For,while,do-while.这方面只要大家用心点基本没什么难点。二、面向对象:oop面向对象的时候,偏重理...

随便推点

两个不同的进程 虚拟地址相同_Linux的进程地址空间[二] - VMA-程序员宅基地

文章浏览阅读517次。Linux的进程地址空间[一] segments一个进程通常由加载一个elf文件启动,而elf文件是由若干segments组成的,同样的,进程地址空间也由许多不同属性的segments组成,但这与硬件意义上的segmentation机制(参考这篇文章)不同,后者在某些体系结构(比如x86)中起重要作用,充当内存中物理地址连续的独立空间。Linux进程中的segment是虚拟地址空间中用于保存数据的..._linux 不同进程的虚拟地址空间相同吗,实现原理

qnap刷android tv,【威联通 TAS-268 电视NAS使用总结】连接|界面|应用|性能_摘要频道_什么值得买...-程序员宅基地

文章浏览阅读2.6k次。威联通 TAS-268 电视NAS使用总结(连接|界面|应用|性能)通过HDMI与电视连接,接好电源,开机点亮。随即电视屏幕上QNAP logo出现,机器内置的Android系统开始启动。第一部先选择语言。登入后就是这样的一个界面了。因为我买的是港版,可以看到原生的google应用都有,但是有些google服务在国内都用不了。。。。通过安卓内置的Chrome浏览器,可以直接访问基于WEB的QTS系..._qnap 电视app

VB 宏+mysql解决EXCEL表格实现自动化处理-程序员宅基地

文章浏览阅读302次。1、表格模板自动建立源码Sub opp()Dim myPath$, myFile$, AK As WorkbookApplication.ScreenUpdating = FalsemyPath = "d:\test\"myFile = Dir(myPath & "*.xls")Do While myFile <> ""If myFile <> ThisWork..._excel表格可以用mysql语句实现全自动化吗

JAXX 2.5.6 发布,XML用户界面框架-程序员宅基地

文章浏览阅读39次。JAXX 2.5.6 改进了 FileEditor 和 ConfigUIModelBuilder,修复了继承、css 和 SwingListValidatorMessageTableModel 的 bug。 JAXX是一个开源的XML用户界面框架。JAXX通过XML文 件来描述组件和它们的相互作用,然后把这些XML文件编译到普通的Java classes中。开发用户界面组件用JAXX将比用平常..._jaxx 2.5.6

JATG引脚定义-程序员宅基地

文章浏览阅读559次。JTAG各类接口针脚定义、含义以及SWD接线方式2018年08月10日 16:04:14kkwant阅读数 1165标签:接口定义tag原文地址为:JTAG各类接口针脚定义、含义以及SWD接线方式JTAG有10pin的、14pin的和20pin的,尽管引脚数和引脚的排列顺序不同,但是其中有一些引脚是一样的,各个引脚的定义如下。一、..._jatg

android 获取控件在屏幕中的坐标_android 控件中心坐标-程序员宅基地

文章浏览阅读1.1w次,点赞3次,收藏13次。今天,简单讲讲android如何获取控件在屏幕中的坐标。这个其实也很简单,但是昨天做一个功能时,需要功能控件的坐标做一些逻辑操作时,居然不知道怎么做。所以在网上查找了资料后,解决了这个问题。这里记录一下。getLocationOnScreen ,计算该视图在全局坐标系中的x,y值,(注意这个值是要从屏幕顶端算起,也就是索包括了通知栏的高度)//获取在当前屏幕内的绝对坐标_android 控件中心坐标

推荐文章

热门文章

相关标签