XML入门教程(XML这样学) 布满荆棘的人生 2023-02-14 10:42 167阅读 0赞 > 前言:“与其每天担心未来,不如努力现在。别对自己丧失信心,成长的路上,只有奋斗才能给你最大的安全感。” > 你好,我是梦阳辰!下面和我一起学习XML吧! ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ppYWh1YW5f_size_16_color_FFFFFF_t_70_pic_center] # 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的格式** ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ppYWh1YW5f_size_16_color_FFFFFF_t_70] //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)定义约束。 ![在这里插入图片描述][20200604154215276.jpg_pic_center] # 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.编写程序 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ppYWh1YW5f_size_16_color_FFFFFF_t_70 1] ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ppYWh1YW5f_size_16_color_FFFFFF_t_70 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学习资源”,“人工智能”等即可获取学习资源。 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ppYWh1YW5f_size_16_color_FFFFFF_t_70_pic_center 1] [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ppYWh1YW5f_size_16_color_FFFFFF_t_70_pic_center]: https://img-blog.csdnimg.cn/20200605090721543.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ppYWh1YW5f,size_16,color_FFFFFF,t_70#pic_center [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ppYWh1YW5f_size_16_color_FFFFFF_t_70]: https://img-blog.csdnimg.cn/20200602155312695.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ppYWh1YW5f,size_16,color_FFFFFF,t_70 [20200604154215276.jpg_pic_center]: https://img-blog.csdnimg.cn/20200604154215276.jpg#pic_center [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ppYWh1YW5f_size_16_color_FFFFFF_t_70 1]: https://img-blog.csdnimg.cn/20200603105643471.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ppYWh1YW5f,size_16,color_FFFFFF,t_70 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ppYWh1YW5f_size_16_color_FFFFFF_t_70 2]: https://img-blog.csdnimg.cn/20200603105755270.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ppYWh1YW5f,size_16,color_FFFFFF,t_70 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ppYWh1YW5f_size_16_color_FFFFFF_t_70_pic_center 1]: https://img-blog.csdnimg.cn/20200604154143674.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ppYWh1YW5f,size_16,color_FFFFFF,t_70#pic_center
相关 XML教程 定义 XML:可扩展标记语言(eXtensible Markup Language) 自定义标签; 很像HTML的标记语言 用途 存储和传输数据; HT 心已赠人/ 2023年10月18日 21:18/ 0 赞/ 12 阅读
相关 XML入门教程(XML这样学) > 前言:“与其每天担心未来,不如努力现在。别对自己丧失信心,成长的路上,只有奋斗才能给你最大的安全感。” > 你好,我是梦阳辰!下面和我一起学习XML吧! ![在这里插 布满荆棘的人生/ 2023年02月14日 10:42/ 0 赞/ 168 阅读
相关 XML学概述 1.xml概述 1.1xml:xml一种数据存储格式,这种数据存储格式在存储数据内容的同时,还能够保存数据之间的关系 1.2xml保存数据的方法:xml利用标签来保存数 清疚/ 2022年08月07日 06:40/ 0 赞/ 164 阅读
相关 xml教程 XML基础语法 和html超文本语言一样,只不过xml主要作用是存储数据,和配置文件作用 xml创建 <?xml version="1.0" encoding=" 傷城~/ 2022年06月06日 09:37/ 0 赞/ 162 阅读
相关 XML入门 一 XML简介 Extensible Markup Language(XML)可扩展标记语言,是一种用于描述数据的标记语言,XML很容易使用和定制。 XML只描述数据 秒速五厘米/ 2022年05月12日 00:20/ 0 赞/ 161 阅读
相关 XML入门 一 XML简介 Extensible Markup Language(XML)可扩展标记语言,是一种用于描述数据的标记语言,XML很容易使用和定制。 XML只描述数据的结构 电玩女神/ 2022年05月12日 00:20/ 0 赞/ 182 阅读
相关 XML入门 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ub 叁歲伎倆/ 2021年11月27日 02:04/ 0 赞/ 301 阅读
相关 MyEclipse XML & XML架构教程:XML编辑器 【[MyEclipse CI 2019.4.0安装包下载][MyEclipse CI 2019.4.0]】 1. MyEclipse中的XML编辑 本文档介绍了MyEc 快来打我*/ 2021年11月17日 11:28/ 0 赞/ 310 阅读
相关 XML 教程 XML教程导航 <table> <tbody> <tr> <td><a href="http://codingdict.com/article/7323 ゞ 浴缸里的玫瑰/ 2021年09月21日 01:30/ 0 赞/ 229 阅读
还没有评论,来说两句吧...