xml实用教程_如何学唱歌入门教程

xml实用教程_如何学唱歌入门教程前言:“与其每天担心未来,不如努力现在。别对自己丧失信心,成长的路上,只有奋斗才能给你最大的安全感。”你好,我是梦阳辰!下面和我一起学习XML吧!01.XML概述1.什么是XML?XML(eXt

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

前言:“与其每天担心未来,不如努力现在。别对自己丧失信心,成长的路上,只有奋斗才能给你最大的安全感。”
你好,我是梦阳辰!下面和我一起学习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学习资源”,“人工智能”等即可获取学习资源。

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/166722.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 交通信号灯控制器C语言代码,交通信号灯控制器代码及说明.doc

    交通信号灯控制器C语言代码,交通信号灯控制器代码及说明.docPAGEPAGE3课程设计报告课程名称:FPGA现代数字系统设计设计名称:交通信号灯控制器姓名:***学号:2010000379专业:通信指导教师:***起止日期:2010.12.25-2011.1.9课程设计任务书设计名称:设计要求:(1)设计一个交通信号灯控制器…

    2022年9月24日
    5
  • 中国地图china.js[通俗易懂]

    中国地图china.js[通俗易懂]中国地图china.js一、简介中国地图china是基于echarts.js和china.js绘制图像。官方已不支持china.js下载china.js:https://static.delebug.com/echarts/china.js二、配置项//china.js的配置项与echarts基本图形配置项相通//关于echarts基本图形配置参考:https://echarts.apache.org/v4/zh/option.html//其中china地图主要配置不同处在seri

    2022年7月20日
    22
  • python tkinter窗口美化_jquery进度条插件

    python tkinter窗口美化_jquery进度条插件前言在我们进行自动化测试的时候,用例往往是成百上千,执行的时间是几十分钟或者是小时级别。有时,我们在调试那么多用例的时候,不知道执行到什么程度了,而pytest-sugar插件能很好解决我们的痛点。

    2022年7月29日
    8
  • Tomcat闪退问题小结[通俗易懂]

    Tomcat闪退问题小结[通俗易懂]一、tomcat双击startup.bat启动报错思路:优先考虑没有正确配置JAVA_HOME等java环境变量,可在cmd中进入tomcat的bin目录,执行startup.bat脚本,若未正确配置JAVA_HOME等变量,会出现具体的提示信息。解决方法1:在计算机环境变量中进行配置;解决方法2:在startup.bat文件的顶端指定jdk与tomcat的包路径。二、tomcat部署项目后启动过程中出现错误闪退,无法查看具体的错误信息解决方式:设置tomcat遇到问题不闪退,具体设

    2022年5月30日
    39
  • PHP开发环境的搭建——XAMPP的安装与配置(Windows)

    PHP开发环境的搭建——XAMPP的安装与配置(Windows)安装XAMPP进入https://www.apachefriends.org/zh_cn/index.html页面下载XAMPP打开XAMPPControlPanel在XAMPP控制面板中,我们可以看到Service一列的单选框略有不同,“X”表示相应组件还没有设为Windows系统服务;“空白”表示没有安装该组件;此外还有“

    2022年7月12日
    18
  • 阿里2021秋招笔试(8.28)——开发岗「建议收藏」

    阿里2021秋招笔试(8.28)——开发岗「建议收藏」一、字符串翻转对于一个01字符串,每次只能交换任意两个元素把一个0变成1或者把一个1变成0翻转整个串代码:A了0.7importjava.util.Scanner;/***CreatedbyIntelliJIDEA.**@Author:张志浩ZhangZhihao*@Email:3382885270@qq.com*@Date:2020/8/28*@Time:19:13*@Version:1.0*@Description:

    2022年5月10日
    48

发表回复

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

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