XML(eXtensible Markup Language)

这篇具有很好参考价值的文章主要介绍了XML(eXtensible Markup Language)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

为什么需要XML?

一 XML语法 

1.文档声明

2.元素

语法:

 3.属性

 4.注释

5.CDATA节

二 树结构

三 转义字符

四 DOM4J

1.XML解析技术

2.dom4j介绍

3.dom4j基本使用


XML 指可扩展标记语言(eXtensible Markup Language)。

XML 被设计用来传输和存储数据,不用于表现和展示数据,HTML 则用来表现数据。

为什么需要XML?

● 解决程序间数据传输的问题:=> 目前多用json替代

比如 qq 之间的数据传送,用 xml 格式来传送数据,具有良好的可读性,可维护性。

● xml 可以做配置文件

xml 文件做配置文件可以说非常的普遍,比如我们的 tomcat 服务器的 server.xml ,web.xml

● xml 可以充当小型的数据库 => 程序自己的数据格式存放

xml 文件做小型数据库,也是不错的选择,我们程序中可能用到的数据,如果放在数据库 中读取不合适(因为你要增加维护数据库工作),可以考虑直接用 xml 来做小型数据库 ,而且 直接读取文件显然要比读取数据库快

一 XML语法 

  • 文档声明
  • 元素
  • 属性
  • 注释
  • CDATA区,特殊字符

1.文档声明

<?xml version="1.0" encoding="utf-8"?>

XML 声明放在 XML 文档的第一行 , 由以下几个部分组成:

1.version - -文档符合 XML1.0 规范   2.encoding - -文档字符编码,比如"utf-8"

2.元素

<note>
    <to>Tove</to>
    <from>Jani</from>
    <heading>Reminder</heading>
    <body>Don't forget me this weekend!</body>
</note>

语法:

1.每个 XML 文档必须有且只有一个根元素

2.根元素是一个完全包括文档中其他所有元素的元素。

3.根元素的起始标记要放在所有其他元素的起始标记之前。

4.根元素的结束标记要放在所有其他元素的结束标记之后

5.XML 元素指 XML 文件中出现的标签,一个标签分为开始标签和结束标签,一个标签 有如下几种书写形式 包含标签体:www.sohu.cn 不含标签体的:, 简写为: <a/>

6.一个标签中也可以嵌套若干子标签。但所有标签必须合理的嵌套,绝对不允许交叉嵌套 

元素命名规则:

 区分大小写,例如<p/>,<P/>和是两个不同的标记。

 不能以数字开头。

 不能包含空格。

 名称中间不能包含冒号(:)。

 如果标签单词需要间隔,建议使用下划线 比如 <book_title>h</book_title>

 3.属性

<student id="200">
    <name>mary</name>
    <age>18</age>
    <gender>女</gender>
</student>
  •  属性值用双引号(")或单引号(')分隔(如果属性值中有',用"分隔;有",用'分隔)
  • 一个元素可以有多个属性,它的基本格式为:<元素名 属性名="属性值">
  • 特定的属性名称在同一个元素标记中只能出现一次
  • 属性值不能包括& 字符

 4.注释

<!-- 注释 -->
  •  注释内容中不要出现- -
  • 不要把注释放在标记中间
  • 注释不能嵌套
  • 可以在除标记以外的任何地方放注释

5.CDATA节

 有些内容不想让解析引擎执行,而是当作原始内容处理(即当做普通文本),可 以使用 CDATA 包括起来,CDATA 节中的所有字符都会被当作简单文本,而不是 XML 标记

<![CDATA[
这里可以把你输入的字符原样显示,不会解析 xml
]]>
  •  可以输入任意字符(除]]>外)
  • 不能嵌套

二 树结构

XML 文档必须包含根元素。该元素是所有其他元素的父元素。

XML 文档中的元素形成了一棵文档树。这棵树从根部开始,并扩展到树的最底端。

所有的元素都可以有子元素:

<bookstore>
    <book category="COOKING">
        <title lang="en">Everyday Italian</title>
        <author>Giada De Laurentiis</author>
        <year>2005</year>
        <price>30.00</price>
    </book>
    <book category="CHILDREN">
        <title lang="en">Harry Potter</title>
        <author>J K. Rowling</author>
        <year>2005</year>
        <price>29.99</price>
    </book>
    <book category="WEB">
        <title lang="en">Learning XML</title>
        <author>Erik T. Ray</author>
        <year>2003</year>
        <price>39.95</price>
    </book>
</bookstore>

XML(eXtensible Markup Language),Web,xml

三 转义字符

对于一些单个字符,若想显示其原始样式,也可以使用转义的形式予以处理

XML(eXtensible Markup Language),Web,xml

四 DOM4J

DOM4J文档

1.XML解析技术

  • 不管是 html 文件还是 xml 文件它们都是标记型文档,都可以使用 w3c 组织制定的 dom 技术来解析
  • document 对象表示的是整个文档(可以是 html 文档,也可以是 xml)

早期 JDK 为我们提供了两种 xml 解析技术: DOM 和 Sax 

  1. dom 解析技术是 W3C 组织制定的,而所有的编程语言都对这个解析技术使用了自己 语言的特点进行实现。 Java 对 dom 技术解析也做了实现
  2. sun 公司在 JDK5 版本对 dom 解析技术进行升级:SAX( Simple API for XML ) SAX 解析,它是以类似事件机制通过回调告诉用户当前正在解析的内容。 是一行一行的读 取 xml 文件进行解析的。不会创建大量的 dom 对象。 所以它在解析 xml时在性能上优于 Dom 解析

第三方的XML解析技术

  1. jdom在dom基础上进行了封装
  2. dom4j又对jdom 进行了封装 ***
  3. pull主要用在Android手机开发,跟sax类似 都是事件机制解析xml文件

2.dom4j介绍

  •  Dom4j 是一个简单、灵活的开放源代码的库(用于解析/处理 XML 文件)。Dom4j 是由早期 开发 JDOM 的人分离出来而后独立开发的。文章来源地址https://www.toymoban.com/news/detail-624443.html

  •  与 JDOM 不同的是,dom4j 使用接口和抽象基类,虽然 Dom4j 的 API 相对要复杂一些, 但它提供了比 JDOM 更好的灵活性。
  •  Dom4j 是一个非常优秀的 Java XML API,具有性能优异、功能强大和极易使用的特点。 现在很多软件采用的 Dom4j。
  •  使用 Dom4j 开发,需下载 dom4j 相应的 jar 文件

3.dom4j基本使用

    public static void getDocument() throws DocumentException {

        ========================读取========================

        //读取XML文件,获取document对象
        SAXReader reader = new SAXReader();//创建解析器
        Document document1 = reader.read(new File("src\\com\\web\\helloXML.xml"));

        //解析XML形式文本,获取document对象
        String xml="<members></members>";
        Document document2 = DocumentHelper.parseText(xml);

        //主动创建document对象
        Document document3 = DocumentHelper.createDocument();
        Element root = document3.addElement("members");

        ========================遍历=======================

        //1. 得到 rootElement, 你是 OOP
        Element rootElement = document.getRootElement();

        //2. 得到 rootElement 的 student Elements
        List<Element> students = rootElement.elements("student");

        for (Element student : students) {//element 就是 Student 元素/节点
            //获取 Student 元素 的 name Element
            Element name = student.element("name");
            Element age = student.element("age");
            Element resume = student.element("resume");
            Element gender = student.element("gender");

            System.out.println("学生信息= " + name.getText() + " " + age.getText() +
                " " + resume.getText() + " " + gender.getText());
        }

        =======================CRUD=======================
        createELement() addAttribute() add() remove() setText()

    }

到了这里,关于XML(eXtensible Markup Language)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于XML的Web服务Java接口(JAX-WS)、Jakarta XML Web Services Eclipse 实现

    JAX-WS(Java API for XML-Based Web Services),是创建web服务的Java编程接口,特别是SOAP服务。是Java XML编程接口之一,是Java SE 和Java EE 平台的一部分。 JAX-WS 2.0 规范是代替JAX-RPC 1.0的下一代Web服务API。JAX-RPC(The Java API for XML Based RPC)是基于XML的RPC(远程过程调用)的Java API。 JAX-WS 2

    2024年02月08日
    浏览(46)
  • JavaWeb web.xml配置详解

    参考: XML 教程 Java web之web.xml配置详解 Javaweb三大组件是:Servlet,Filter,Listener。 1、Servlet Servlet作为中转处理的容器,连接了客户端和服务器端的信息交互和处理。 2、Filter 拦截用户请求,在服务器作出响应前,可以在拦截后修改request和response,实现开发者想得到的功能。

    2024年01月23日
    浏览(43)
  • 【Java Web学习笔记】5 - XML

    https://github.com/yinhai1114/JavaWeb_LearningCode/tree/main/xml 目录 项目代码 零、在线文档 一、XML引出 1.为什么需要XML 2.XML用于解决什么问题  3.案例 二、XML基本语法 1.基本语法 2.XML语法 - 文档说明 3.XML语法 - 元素 4.XML语法 - 属性 5.XML语法 - CDATA节 三、XML转义字符 小结 四、DOM4J 1.XML解

    2024年02月04日
    浏览(35)
  • java web.xml配置文件漏洞

    一.介绍 介绍 二.实例 实例1

    2024年02月14日
    浏览(42)
  • Servlet 初始化参数(web.xml和@WebServlet)

     

    2024年02月06日
    浏览(57)
  • java web中部署log4j.xml

    标题:Java Web中部署log4j.xml 目录: 1. 介绍 2. 配置log4j.xml文件 3. 配置web.xml文件 4. 配置Spring框架 5. 配置Spring Bean 6. 总结 ## 1. 介绍 在Java Web开发中,日志记录是非常重要的一部分。log4j是一个常用的Java日志记录框架,它提供了灵活的配置和强大的日志功能。本篇博客将介绍如何

    2024年02月09日
    浏览(46)
  • 【Web开发指南】MyEclipse XML编辑器的高级功能简介

    MyEclipse v2023.1.2离线版下载 1. 在MyEclipse中编辑XML 本文档介绍MyEclipse XML编辑器中的一些可用的函数,MyEclipse XML编辑器包括高级XML编辑,例如: 语法高亮显示 标签和属性内容辅助 实时验证(当您输入时) 文档内容的源(Source)视图、设计(Design)视图和大纲(Outline)视图 文档

    2024年02月12日
    浏览(38)
  • 添加.net core web Api 对XML数据格式的支持

    MvcOptions.ReturnHttpNotAcceptable的默认值为false, 此时,如果服务器端不支持http request中Accept的格式值,比如application/xml,则不会报错,返回默认格式的结果 也就是 json 格式的数据。 此时我们需要让他启用。 也就是 设置为true 但是此时 ,如果是XML的请求,则返回的 406 Not Acceptabl

    2024年02月10日
    浏览(41)
  • 【业务功能篇45】SSM整合shiro项目:web.xml执行顺序

    web.xml 的加载顺序是:ServletContext - context-param - listener - filter - servlet 学习shiro时,需要配置shiro ,我们需要在filter过滤器之前,先初始化好shiro组件,不然请求认证无法走到shiro,根据web.xml的加载顺序,listener标签中会先于filter标签中的组件,所以我们配置shiro的context文件,单独

    2024年02月16日
    浏览(51)
  • 告别web.xml映射Servlet、Filter、Listener,解锁注解新方式开发

    编译软件:IntelliJ IDEA 2019.2.4 x64 操作系统:win10 x64 位 家庭版 服务器软件:apache-tomcat-8.5.27 Servlet、Filter和Listener都支持使用 注解 的方式进行配置: Servlet : 常用的注解是@WebServlet,可以在Servlet类上添加该注解并指定Servlet的url-pattern等属性来配置Servlet。 Filter : 常用的注解是

    2024年02月01日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包