当前位置: 首页 > news >正文

Java基础:浅析Java中的XML文件处理

概述

XML(全称Extensible Markup Language,可扩展标记语言)

.本质是一种数据的格式,可以用来存储复杂的数据结构,和数据关系

XML特点

1.XML中的“<标签名>”成为一个标签或者一个元素,一般成对出现的

2.XML中的便签名可以自己定义(可拓展),但必须要正确的嵌套

3.XML中只能有一个根标签

4.XML中的标签可以有属性

5.如果一个文件中防止的事XML格式的数据,这个文件就是XML文件,后缀一般要写成.xml

XML编写

XML创建

就是创建一个XML类型的文件,要求文件的后缀必须xml

ideal创建xml文件

在这里插入图片描述

xml语法规则

在这里插入图片描述

<?xml version="1.0" encoding="utf-8" ?>
<!-- 以下是新的xml内容 -->
<users>
 <user id = "1">
     <name>张三</name>
     <sex></sex>
     <age>18</age>
     <hobby>炸鸡</hobby>
     <sql>
         <![CDATA[
             select * from user where id >=1 && id <=3
         ]]>
     </sql>
 </user>
 <user id="2" desc="这是一个李诞">
     <name>李诞</name>
     <sex></sex>
     <age>20</age>
     <hobby>脱口秀</hobby>
     <sql>select * from user where id &gt;=3 &amp;&amp; id &lt;=5 </sql>
 </user>
</users>

XML的作用和应用场景

本质是一种数据格式,可以存储复杂的数据结构,和数据无关。

应用场景:经常作为系统配置文件,或者作为一种特殊的数据结构,在网络中传播

读取XML文件中数据

解析XML文件

程序员不需要自己写元素IO源代码来解析XML,难度大,也繁琐

其实很多开源框架,很好用,解析XML框架,最著名Dom4j(第三方研发)

步骤

在这里插入图片描述

解析

在这里插入图片描述

案例

在这里插入图片描述

        // 目标:掌握dom4j解析xml文件
        // 创建对象
        SAXReader reader = new SAXReader();
        // 1.解析xml文件
        Document document = reader.read("day16-special-io/src/hello_world1.xml");
        // 2.获取元素对象
        Element rootElement = document.getRootElement();
        // 3.获取元素内容
        System.out.println("============= rootElement");
        System.out.println(rootElement.getName());
        // 4.获取属性值
        // 5.获取子元素对象
        System.out.println("============= chid");
//        List<Element> elements = rootElement.elements();
        List<Element> elements = rootElement.elements("user");
        for (Element element : elements) {
            System.out.println(element.getName());
        }
        // 6.获取单个子元素
        Element user = rootElement.element("user");
        System.out.println(user.elementText("name"));

        // 7.获取子元素属性值
        System.out.println(user.attributeValue("id"));

        // 8.获取文本内容
        System.out.println(user.elementTextTrim("name"));
        Element nameE = user.element("name");
        System.out.println(nameE.getText());

XML创建

在这里插入图片描述

StringBuffer sb = new StringBuffer();
sb.append("<?xml version=\"1.0\" encoding=\"utf-8\" ?>\r\n");
sb.append("<user>\r\n");
sb.append("\t<name>").append("张三").append("</name>\r\n");
sb.append("\t<age>").append(18).append("</age>\r\n");
sb.append("\t<hight>").append(178.5).append("</hight>\r\n");
sb.append("</user>\r\n");

PrintStream ps = new PrintStream("day16-special-io/src/user1.xml");
ps.println(sb);
ps.close();

约束XML文件编写【了解】

什么是约束?

就是限制xml以某种格式进行书写

约束文档

抓们限制xml书写格式的文档,比如:限制标签、属性应该怎么写

约束文档分类

DTD文档
在这里插入图片描述
在这里插入图片描述
Schema文档
在这里插入图片描述
在这里插入图片描述

相关文章:

  • JavaScript 中的 if (object) 语句解释
  • Java基础:集合List、Map、Set(超详细版)
  • 电子处方+在线问诊系统源码:打造智能诊疗闭环“黄金搭档”方案
  • KingbaseES JSON全解析:记录操作与高级表格处理
  • 机器学习 第一章
  • SSM废品买卖回收管理系统的设计与实现
  • Java中的wait( )和sleep( )方法的区别
  • AI大模型技术之RAG、模型微调、知识蒸馏
  • 从零搭建微服务项目Pro(第0章——微服务项目脚手架搭建)
  • 【langchain4j系列教程-05】一文读懂:人工智能如何实现会话记忆
  • 基于EfficientNet的自闭症诊断辅助系统揭秘
  • Maven工具学习使用(十)——生成项目站点
  • Python及C++中的字典
  • 【玩泰山派】5、点灯,驱动led-(2)ubuntu18.04 升级python3.6到python3.7,安装pip3
  • 20250408在荣品的PRO-RK3566开发板使用Rockchip原厂的buildroot系统时拿掉经常出现的list-iodomain.sh警告信息
  • 58-使用wordpress快速创建个人网站
  • Go小技巧易错点100例(二十六)
  • SpringBoot项目:部门管理系统
  • 防爆平板:石油化工厂智慧转型的“中枢神经”
  • BANK OF CHINA(HONG KONG)网点
  • 公司网站域名和空间使用费/武汉做搜索引擎推广的公司
  • wordpress和betheme/安徽seo网络推广
  • wordpress电商推广插件/淄博搜索引擎优化
  • 高端网站建设公司哪家公司好/室内设计培训
  • 中山网站制作系统/怎么注册自己的网站域名
  • 财经门户网站开发/国内好的seo