XML入门教程(XML这样学)
前言:“与其每天担心未来,不如努力现在。别对自己丧失信心,成长的路上,只有奋斗才能给你最大的安全感。”
你好,我是梦阳辰!下面和我一起学习XML吧!
01.XML概述
1.什么是XML?
XML (eXtensible Markup Language)指可扩展标记语言,标准通用标记语言的子集,简称XML。是一种用于标记电子文件使其具有结构性的标记语言。
XML 指可扩展标记语言(EXtensible Markup Language)
XML 是一种标记语言,很类似 HTML
XML 的设计宗旨是传输数据,而非显示数据
XML 标签没有被预定义。您需要自行定义标签。
XML 被设计为具有自我描述性。
XML 是 W3C 的推荐标准
xml是一种非常灵活的语言,没有固定的标签,所有的标签都可以自定义。
2.XML的用途?
通常,xml被用于信息的记录和传递,因此xml经常被用于充当配置文件。
3.XML 仅仅是纯文本
XML 没什么特别的。它仅仅是纯文本而已。有能力处理纯文本的软件都可以处理 XML。
不过,能够读懂 XML 的应用程序可以有针对性地处理 XML 的标签。标签的功能性意义依赖于应用程序的特性。
4.xml的格式
//1.声明信息,用户描述xml的版本和编码方式
<?xml version="1.0" encoding="UTF-8?>
//2.根元素,有且仅有一个根元素
//3.xml大小写敏感
//4.标签成对,需要正确嵌套
//5.属性只要使用双引号
<book id="fa">
//注释的语法跟HTML相同
5.XML 不会替代 HTML,理解这一点很重要。在大多数 web 应用程序中,XML 用于传输数据,而 HTML 用于格式化并显示数据。
XML 无所不在。XML 是各种应用程序之间进行数据传输的最常用的工具,并且在信息存储和描述领域变得越来越流行。
对 XML 最好的描述是:
XML 是独立于软件和硬件的信息传输工具。
6.XML 没有预定义的标签
在 HTML 中使用的标签(以及 HTML 的结构)是预定义的。HTML 文档只使用在 HTML 标准中定义过的标签(比如 < p > 、< h1 > 等等)。
XML 允许创作者定义自己的标签和自己的文档结构。
练习:
<?xml version="1.0" encoding="UTF-8"?>
<scores><student id="1"><name>MengYangChen</name><course>xml</course><score>99</score></student><name>XingKong</name><course>xml</course><score>99.9</score><student id="2"></student>
</scores>
8.有效的XML文档
7.1 首先必须是格式良好的。
7.2 使用DTD和XSD(XML Schema)定义约束。
02.DTD
1.什么是DTD?
文档类型定义(DTD)可定义合法的XML文档构建模块。它使用一系列合法的元素来定义文档的结构。
DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用。
DTD(Document Type Defination )文档类型定义。
DTD用于约束xml的文档格式,保证xml是一个有效的xml。
2.DTD可以分为两种,内部DTD,外部DTD。
2.内部DTD的定义
假如 DTD 被包含在您的 XML 源文件中,它应当通过下面的语法包装在一个 DOCTYPE 声明中:
<!DOCTYPE 根元素 [元素声明]>
数量词
+: 表示出现1次或多次,至少一次。
?:表示出现0次或1次。
*: 表示出现任意次。
2.1.元素声明语法
<!ELEMENT 元素名称 (元素内容)>
2.2.属性声明语法
属性类型:CDATA,表示字符数据(character data)
默认值:REQUIRED 属性值是必需的
#IMPLIED 属性不是必需的
#FIXED value 属性值是固定的
<!ATTLIST 元素名称 属性名称 属性类型 默认值>
如:<!ATTLIST payment type CDATA "check">
<?xml version="1.0" encoding="UTF-8"?>
<!--声明内部DTD-->
<!DOCTYPE scores[
<!ELEMENT scores (student)>
<!ELEMENT stuent(name,course,score)>
<!ATTLIST stuent id CDATA #IMPLIED>
<!ELEMENT name (#PCDATA)>
]>
<scores><student id="1"><name>MengYangChen</name><course>xml</course><score>99</score></student><name>XingKong</name><course>xml</course><score>99.9</score><student id="2"></student>
</scores>
2.3 外部定义DTD
在xml中引入外部的DTD文件。
<!DOCTYPE scores SYSTEM "scores.dtd">
关于XSD
XML Schema是DTD的替代者。
不仅可以定义XML文档的结构,还可以规范文档的内容。
03.XML的解析
对xml文件进行操作,包括创建xml,对xml文件进行增删改查操作。
3.1 常见的xml解析技术
DOM解析
官方提供的解析方式(sun)
基于xml树解析。
SAX解析
是民间解析方式,基于事件的解析
适用于数据量较大的XML.
JDOM解析
开放源码,比DOM更快,使用类
DOM4J解析
第三方,开源免费,是JDOM的升级版,使用接口
3.2 DOM4J解析xml
解析xml的入口,是需要先拿到一个Document对象。
读取xml文件
1.导入dom4j.jar包
2.编写程序
dom4j创建xml
1.通过DocumentHelper生成一个Document对象。
Document doc =DocumentHelper.createDocument();
2.添加根元素
Element root = doc.addElement(“books”);
3.为根元素添加子元素
Element book =root.addElement(“book”);
4.为book元素添加属性(可以链式编程)
book.addAttribute(“id”,“bo1”);
5.为book添加子元素
Element name book.addElement=book.addElement(“name”);
6.为子元素添加文本
name.addText(“Think in Java”);
7.将doc输出到xml文件中即可
Writer writer = new FileWriter(new File(“src/book.xml”);
doc.write(writer);
或者用格式良好的输出(缩进)
OutputFormat format =OutputFormat.createPrettyPrint();
XMLWriter writer = new XMLWriter(new FileWriter(new File(“src/book.xml”);
8.关闭资源
writer.close();
我是梦阳辰,期待下次与你相遇!
关注公众号【轻松玩编程】回复关键字“电子书”,“计算机资源”,“Java从入门到进阶”,”JavaScript教程“,“算法”,“Python学习资源”,“人工智能”等即可获取学习资源。
XML入门教程(XML这样学)相关推荐
- XML入门教程(3)
30.通过XSL显示XML XML.XML ---------------------------------------------------------- <?xml version=&q ...
- html显示xml xsl,XML入门教程:使用XSL显示XML
通过使用XSL,您可以向XML文档添加显示信息. 使用XSL显示XML XSL是首选的XML样式表语言. XSL远比CSS更加完善.使用XSL的方法之一是在浏览器显示XML文件之前,先把它转换为HTM ...
- php laravel 入门教程,跟我学Laravel之快速入门
安装 Laravel框架使用 Composer 执行安装和依赖管理.如果还没有安装的话,现在就开始 安装 Composer 吧. 安装Composer之后,你就可以通过命令行使用如下命令安装Larav ...
- XML简要教程(适合初学者)
XML简要教程 XML 指可扩展标记语言(eXtensible Markup Language), 被设计用来传输和存储数据.是各种应用程序之间进行数据传输的最常用的工具. XML提供了一套夸平台,跨 ...
- python自学入门教程-Python学习教程(一)自学资源分享
在我看来,基本上可以不负责任地认为,Python 可以做任何事情.无论是从入门级选手到专业级选手都在做的爬虫,还是Web 程序开发.桌面程序开发还是科学计算.图像处理,Python都可以胜任. 或许是 ...
- python入门教程非常详细-python初学者怎么入门:python入门教程非常详细
python安装后如何打开 ,先找到python安装位置. python学习网,大量的免费python入门教程,在线学习! 进装目录之后,点击Lib文件夹. 相关推荐:<Python教程> ...
- python入门教程(非常详细)-python初学者怎么入门:python入门教程非常详细
python安装后如何打开 ,先找到python安装位置. python学习网,大量的免费python入门教程,在线学习! 进装目录之后,点击Lib文件夹. 相关推荐:<Python教程> ...
- cad把图形切成两部分_CAD入门教程,最常用快捷键
CAD是一款功能强大的绘图软件,如果把它学好了,找到的工作工资也是不会低的,但是从未接触过CAD的朋友想学习这个软件,一开始也是很困难的,但是想学就必须下苦工,因此小编为大家整理了CAD的入门教程,想 ...
- CAD软件入门教程,分享给零基础的人
CAD是一款功能强大的绘图软件,如果把它学好了,以后工作工资也是不会低的,但是从未接触过的朋友想学习,应该从何学起呢? 因此小编为大家整理了CAD的入门教程,想学CAD的朋友一起看看吧! 一.了解CA ...
最新文章
- 关于爬虫异步请求心得
- 李宏毅机器学习作业2:Winner还是Losser(含训练数据)
- 什么是BNF EBNF 巴科斯范式及其扩展 BNF Augmented BNF
- PyTorch C++ API libtorch 简介
- c 语言str.size,C/C++ strlen(str)和str.length()和str.size()的区别
- 面试官:连Spring三级缓存都答不好,自己走还是我送你?
- HOG特征中的三线插值法
- php时间函数单字母,ThinkPhp单字母函数
- curl txt批量_curl与wget高级用法
- sublime 如何使用less_Sublime Text3 使用教程
- mysql的批量更新的语法,MySql 批量更新语法
- 大数据体系【概念认知】系列-1:一致性 (未完)
- 控制台应用程序转成MFC程序错误—OcrRec.exe触发一个触点,原因可能是堆被破坏
- DataTable序列化为JSON字符串
- T410i升级i3 380M,上测试对比图,附拆机心得
- iOS获取DSYM文件
- 人人影视路由二代刷Breed
- java保护表格_java poi Excel单元格保护
- pkg-config
- os.path.dirname(os.path.realpath(__file__))函数