JavaEE基础之- xml

news2025/3/26 21:14:16

目录

一、xml概述

1.什么是xml

2.W3C组织

3.XML的作用

4.XML与HTML比较

5.XML和properties(属性文件)比较

二、XML语法概述

1.文档展示

2.XML文档的组成部分

3.xml文档声明

3.1 什么是xml文档声明

3.2 xml文档声明结构

4.xml元素

4.1 xml元素的格式1

4.2 XML元素的格式2

4.3 xml文档的根元素

4.4 元素中的空白

4.5 元素命名规范

4.6 元素属性

4.7 注释

4.8 转义字符和CDATA区

4.9 CDATA 区(CDATA段)

三、xml约束

1.XML约束概述

1.1 什么是xml约束

1.2 XML文档约束的类型

2.DTD

2.1 什么是DTD

2.2 DTD展示

3. Schema

3.1  Schema概述

3.2 为什么要用Schema

3.3 Schema的文档结构

3.4 Schema的数据类型

1. 简单类型

2.复杂类型(通过complexType定义)

4.xml解析

1.操作XML文档概述

1.1 如何操作xml文档

1.2 xml解析技术

2.DOM4J

2.1 DOM4J是什么

2.2 DOM4J中的类结构

2.3 DOM4J获取Document对象

2.4 DOM4J保存Document对象

2.5 DOM4J创建Document对象

3.Document操作

3.1 遍历students.xml

4.XPath

4.1 什么是XPath

4.2 DOM4J对XPath的支持


一、xml概述

1.什么是xml

         XML全称为Extensible Markup Language, 意思是可扩展的标记语言,它是 SGML(标准通用标记语言)的一个子集。
        XML语法上和HTML比较相似,但HTML中的元素是固定的,而XML的标签是可以由用户自定义的。
        W3C在1998年2月发布 1.0版本
        W3C在2004年2月发布1.1版本,但因为1.1版本不能向下兼容1.0版本,所以1.1没有人用。同时,在2004年2月W3C又发布了1.0版本的第三版。我们要学习的还是1.0版本!!!

2.W3C组织

         W3C是万维网联盟(World Wide Web Consortium)英文的缩写,它成立于1994年10月,以开
放论坛的方式来促进开发互通技术(包括规格、指南、软件和工具),开发网络的全部潜能。万维网
联盟(W3C)从1994年成立以来,已发布了90多份Web技术规范,领导着Web技术向前发展。
        W3C认为自身不是官方组织,因此将它正式发布的规范称为推荐(建议)标准,意思是进一步标
准化的建议,但是由于组织自身的权威性往往成为事实上的标准。

3.XML的作用

         程序的配置文件(这也是最后大家使用XML最常见的目的);
        数据交换:不同语言之间用来交换数据;
        小型数据库:用来当数据库存储数据。

4.XML与HTML比较

        HTML的元素都是固定的,而XML可以自定义元素;

        HTML用浏览器来解析执行, XML的解析器通常需要自己来写(因为元素是自定义的);

        HTML只能用来表示网页,而XML可以做的事情很多。

5.XML和properties(属性文件)比较

  1.      1. 属性文件只能存储平面信息,而XML可以存储结构化信息;
  2. 解析属性文件只需要使用Properties类就可以了,而解析XML文档是很复杂的。

二、XML语法概述

  • 元素!!!
  • 文档声明!!!

1.文档展示

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<students>
     <student number="1001">
          <name>zhangSan</name>
          <age>23</age>    
          <sex>male</sex>
     </student>
     <student number="1002">
          <name>liSi</name>
          <age>32</age>
          <sex>female</sex>
     </student>
     <student number="1003">
          <name>wangWu</name>
          <age>55</age>
          <sex>male</sex>
     </student>
</students>
 包括web.xml

2.XML文档的组成部分

  • XML文档声明;
  • XML处理指令;
  • XML元素;
  • XML特殊字符和CDATA区; [![CADATA <<<<>>>>>>   ]]
  • XML注释。<!---   -->

3.xml文档声明

3.1 什么是xml文档声明

        可以把xml文档声明看成是xml文档说明。
        最简单的xml文档声明:        <?xml version="1.0"?>
  注意
        XML是区别大小写,这一点不同与HTML!

3.2 xml文档声明结构

version属性
        用于说明当前xml文档的版本,因为都是在用1.0,所以这个属性值大家都写1.0,version属性是 必须的;
encoding属性
        用于说明当前xml文档使用的 字符编码集,xml解析器会使用这个编码来解析xml文档。encoding属性是可选的,默认为UTF-8。注意,如果当前xml文档使用的字符编码集是gb2312,而encoding属性的值为UTF-8,那么一定会出错的;
standalone属性
        用于说明当前xml文档 是否为独立文档,如果该属性值为yes,表示当前xml文档是独立的,如果为no表示当前xml文档不是独立的,即依赖外部的约束文件。 默认是yes
  • 没有xml文档声明的xml文档,不是格式良好的xml文档;
  • xml文档声明必须从xml文档的1行1列开始。

4.xml元素

4.1 xml元素的格式1

xml元素包含:
                开始标签、元素体(内容)、结束标签。
        例如:<hello>大家好</hello>
空元素:
               空元素只有开始标签,没有元素体和结束标签,但空元素一定要闭合。
        例如:     <hello/>   <hr/>

4.2 XML元素的格式2

  1. 1. xml元素可以包含子元素或文本数据。
        例如: <a><b>hello</b></a>,a元素的元素体内容是b元素,而b元素的元素体内容是文本数据hello。
  1. 2. xml元素可以嵌套,但必须是合法嵌套。
        例如:<a><b>hello</a></b> 就是错误的嵌套。

4.3 xml文档的根元素

        格式良好 的xml文档必须且仅有一个根元素!
student1.xml
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<students>
     <student number="1001">
          <name>zhangSan</name>
          <age>23</age>
          <sex>male</sex>
     </student>
     <student number="1002">
          <name>liSi</name>
          <age>32</age>
          <sex>female</sex>
     </student>
</students>
student2.xml
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<student number="1001">
     <name>zhangSan</name>
     <age>23</age>
     <sex>male</sex>
</student>
<student number="1002">
     <name>liSi</name>
     <age>32</age>
     <sex>female</sex>
</student>
        student1.xml是格式良好的xml文档,只有一个根元素,即students元素。
        student2.xml不是格式良好的xml文档,有两个根元素,即两个student根元素。

4.4 元素中的空白

        xml元素的元素体可以包含文本数据和子元素。
a.xml
<a><b>hello</b></a>
b.xml
<a>
  <b>
    hello
  </b>
</a>

        a.xml中,元素只有一个子元素,即元素。元素只有一个文本数据,即hello。

        b.xml中,元素中第一部分为换行缩进,第二部分为元素,第三部分为换行。b元素的文本数据为换行、缩进、hello、换行、缩进。

        其中换行和缩进都是空白,这些空白是为了增强xml文档的可读性。但xml解析器可能会因为空白出现错误的解读,这说明在将来编写解析xml程序时,一定要小心空白。

4.5 元素命名规范

xml元素名可以包含字母、数字以及一些其它可见字符,但必须遵循下面的一些规范:

  • 区分大小写:是两个元素;
  • 不能以数字开头:<1a>都是错误的;
  • 最好不要以xml开头:
  • 不能包含空格;

4.6 元素属性

  • 属性由属性名属性值构成,中间用等号连接
  • 属性值必须使用引号括起来,单引或双引;
  • 定义属性必须遵循与标签名相同的命名规范;
  • 属性必须定义在元素的开始标签中
  • 一个元素中不能包含相同的属性名;

4.7 注释

  • 注释以<!--开头, 以--> 结束;
  • 注释中不能包含--;
   Ctrl+/

4.8 转义字符和CDATA区

        因为在xml文档中有些字符是特殊的,不能使用它们作为文本数据。例如:不能使用“<”或“>”等字符作为文本数据,所以需要使用转义字符来表示。
        例如<a><a></a> , 你可能会说,其中第二个 是a元素的文本内容,而不是一个元素的开始标签,但xml解析器是不会明白你的意思的。
        把<a><a></a> 修饰为 <a>&lt;a&gt;</a> ,这就OK了。
        转义字符都是以“&”开头,以“;”结束。这与后面我们学习的实体是相同的。

4.9 CDATA 区(CDATA段)

        当大量的转义字符出现在xml文档中时,会使xml文档的可读性大幅度降低。这时如果使用CDATA段就会好一些。
        在CDATA段中出现的“<”、“>”、“””、“’”、“&”,都无需使用转义字符。这可以提高xml文档的可读性。
<a><![CDATA[<a>]]></a>
        在CDATA段中不能包含“]]>”,即CDATA段的 结束定界符

三、xml约束

1.XML约束概述

   一个XML文档一旦有了约束,那么这个XML文档就只能使用约束中创建的元素及属性。如果约束没有创建 元素,那么XML文档就不能使用 元素!!!

1.1 什么是xml约束

        因为xml文档是可以自定义元素的,这会让使用xml文档的应用程序无法知道xml文档的真实结构通常应用程序都会要求xml文件的结构是固定的,以满足自己的需求,这就说明,不同的应用程序要求自己的xml文档必须符合一定的要求
        例如,当使用xml文档作为某个Java swing应用程序的配置文件时,要求xml文档结构如下:
<frame title="test xml" layout="java.awt.BorderLayout">
  <bgcolor>
        <red>200</red>
        <green>0</green>
        <blue>0</blue>
  </bgcolor>
  <size>
        <width>300</width>
        <heigth>200</heigth>
  </size>
  <content>
        <label>
          <text>hello xml</text>
        <label>
  </content>
</frame>
        当某个学生管理系统程序需要使用xml文档作为数据库时,要求xml文档结构如下:
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<students>
     <student number="1001">
          <name>zhangSan</name>
          <age>23</age>
          <sex>male</sex>
     </student>
     <student number="1002">
          <name>liSi</name>
          <age>32</age>
          <sex>female</sex>
     </student>
     <student number="1003">
          <name>wangWu</name>
          <age>55</age>
          <sex>male</sex>
     </student>
</students>
        xml文档约束是用另一个文件来约束xml文档的结构,例如要求xml文档的根元素必须是 <students> ,在 <students> 元素下可以包含0~n个 <student> 元素,每个 <student> 元素必须有一个number属性,而且还要有三个子元素,分别为<name>、<age>、<sex>,这三个子元素的内容必须为文本内容,而不能是子元素。

1.2 XML文档约束的类型

xml文档约束有两种类型:dtd和schema

  • dtd:dtd是平面式文档,dtd文件不是xml文档,通常扩展名为“.dtd”。它是最早的xml约束;
  • schema:schema本身也是xml文档,它比dtd要更加强大,通常扩展名为“.xsd”。它是新的xml文档约束,用来替代dtd。
DTD是老的XML约束
Schema是新的,用Schema替换掉DTD

2.DTD

2.1 什么是DTD

        DTD(Document Type Definition),文档类型定义,用来约束XML文档。
        例如要求xml文档的根元素必须是 <students> ,在 <students> 元素下可以包含0~n个 <student> 元素,每个 <student> 元素必须有一个number属性,而且还要有三个子元素,分别为 <name> 、<age> 、<sex> ,这三个子元素的内容必须为文本内容,而不能是子元素。

2.2 DTD展示

<!ELEMENT students (student+)>
<!ELEMENT student (name,age,sex)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT age (#PCDATA)>
<!ELEMENT sex (#PCDATA)>
解读上面DTD:

  • students元素中可以包含1~n个student元素;
  • student元素中必须包含name、age、sex元素,而且顺序也是固定的;
  • ame元素内容为文本,即字符串;
  • age元素内容为文本;
  • sex元素内容为文本。

3. Schema

3.1  Schema概述

        我们学习Schema的第一目标是:参照Schema的要求可以编写XML文档;
        第二目标是:可以自己来定义Schema文档。

3.2 为什么要用Schema

  • DTD 的局限性

        DTD不遵守XML语法(写XML文档实例时候用一种语法,写DTD的时候用另外一种语法)

        DTD数据类型有限(与数据库数据类型不一致)

        DTD不可扩展

        DTD不支持命名空间(命名冲突)

  • Schema的新特性

        Schema基于XML语法

        Schema可以用能处理XML文档的工具处理

        Schema大大扩充了数据类型,可以自定义数据类型

        Schema支持元素的继承—Object-Oriented’

        Schema支持属性组

3.3 Schema的文档结构

3.4 Schema的数据类型

1. 简单类型
内置的数据类型(built-in data types
基本的数据类型
扩展的数据类型
用户自定义数据类型(通过simpleType定义)
数据类型的特性
2.复杂类型(通过complexType定义

4.xml解析

1.操作XML文档概述

1.1 如何操作xml文档
XML文档也是数据的一种,对数据的操作也不外乎是“增删改查”。也被大家称之为“CRUD”。

  • C:Create;
  • R:Retrieve;
  • U:Update;
  • D:Delete
1.2 xml解析技术
        XML解析方式分为两种:DOM(Document Object Model)和SAX(Simple API for XML)。这两种方式不是针对Java语言来解析XML的技术,而是跨语言的解析方式。例如DOM还在Javascript中存在!
        DOM是W3C组织提供的解析XML文档的标准接口,而SAX是社区讨论的产物,是一种事实上的标准。
        DOM和SAX只是定义了一些接口,以及某些接口的缺省实现,而这个缺省实现只是用空方法来实现接口。一个应用程序如果需要DOM或SAX来访问XML文档,还需要一个实现了DOM或SAX的解析器,也就是说这个解析器需要实现DOM或SAX中定义的接口。提供DOM或SAX中定义的功能。


2.DOM4J

2.1 DOM4J是什么
        DOM4J是针对Java开发人员专门提供的XML文档解析规范,它不同与DOM,但与DOM相似。DOM4J针对Java开发人员而设计,所以对于Java开发人员来说,使用DOM4J要比使用DOM更加方便。
        DOM4J对DOM和SAX提供了支持,使用DOM4J可以把org.dom4j.document转换成org.w3c.Document,DOM4J也支持基于SAX的事件驱动处理模式。
使用者需要注意,DOM4J解析的结果是org.dom4j.Document,而不是org.w3c.Document。DOM4J与DOM一样,只是一组规范(接口与抽象类组成),底层必须要有DOM4J解析器的实现来支持。
        DOM4J使用JAXP来查找SAX解析器,然后把XML文档解析为org.dom4j.Document对象。它还支持使用org.w3c.Document来转换为org.dom4j.Docment对象。
2.2 DOM4J中的类结构
        在DOM4J中,也有Node、Document、Element等接口,结构上与DOM中的接口比较相似。但还是有很多的区别:
        在DOM4J中,所有XML组成部分都是一个Node,其中Branch表示可以包含子节点的节点,例如Document和Element都是可以有子节点的,它们都是Branch的子接口。
        Attribute是属性节点,CharacterData是文本节点,文本节点有三个子接口,分别是CDATA、Text、Comment。
2.3 DOM4J获取Document对象
使用DOM4J来加载XML文档,需要先获取SAXReader对象,然后通过SAXReader对象的read()方法来加载XML文档:
SAXReader reader = new SAXReader();
//  reader.setValidation(true);
  Document doc = reader.read("src/students.xml");
2.4 DOM4J保存Document对象
        保存Document对象需要使用XMLWriter对象的write()方法来完成,在创建XMLWriter时还可以为其指定XML文档的格式(缩进字符串以及是否换行),这需要使用OutputFormat来指定。
doc.addDocType("students", "", "students.dtd");
  OutputFormat format = new OutputFormat("\t", true);
  format.setEncoding("UTF-8");
  XMLWriter writer = new XMLWriter(new FileWriter(xmlName), format);
  writer.write(doc);
  writer.close();

2.5 DOM4J创建Document对象
DocumentHelper类有很多的createXXX()方法,用来创建各种Node对象。
Document doc = DocumentHelper.createDocument();


3.Document操作

3.1 遍历students.xml
涉及的相关方法

  • Element getRootElement():Document的方法,用来获取根元素
  • List elements():Element的方法,用来获取所有孩子元素
  • String attributeValue(String name):Element的方法,用来获取指定名字的属性值
  • Element element(String name):Element的方法,用来获取第一个指定名字的子元素;
  • String elementText(String name):Element的方法,用来获取第一个指定名字的子元素的文本内容。
分析步骤:

  • 获取Document对象;
  • 获取root元素;
  • 获取root所有子元素
  • 遍历每个student元素;
  • 打印student元素number属性;
  • 打印student元素的name子元素内容;
  • 打印student元素的age子元素内容;
  • 打印student元素的sex子元素内容。

4.XPath

4.1 什么是XPath
        XPath即为XML路径语言(XML Path Language),它是一种用来确定XML文档中某部分位置 的语言。\
        XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。起初 XPath 的提出的初衷是将其作为一个通用的、介于XPointer与XSL间的语法模型。但是 XPath 很快的被开发者采用 来当作小型查询语言。
4.2 DOM4J对XPath的支持
        在DOM4J中,Node接口中的三个方法最为常用: 

  • List selectNodes(String xpathExpression):在当前节点中查找满足XPath表达式的所有子节点
  • Node selectSingleNode(String xpathExpression):在当前节点中查找满足XPath表达式的第一个子节点
  • String valueOf(String xpathExpression):在当前节点中查找满足XPath表达式的第一个子节点的文本内容
Document doc = reader.read(new FileInputStream("person.xml"));
  
  Element root = doc.getRootElement();
  List<Element> eList = root.selectNodes("/persons");
  List<Element> eList1 = root.selectNodes("/persons/person/name");
  
  
  List<Element> eList2 = root.selectNodes("//age");
  List<Element> eList3 = root.selectNodes("//person/age");
  
  
  List<Element> eList4 = root.selectNodes("/*/*/address");
  List<Element> eList5 = root.selectNodes("//*");
  
  List<Element> eList6 = root.selectNodes("/persons/person[1]");
  List<Element> eList7 = root.selectNodes("/persons/person[last()]");
  
  
  List<Element> eList8 = root.selectNodes("//@id");
  List<Element> eList9 = root.selectNodes("//person[@id]");
  List<Element> eList10 = root.selectNodes("//person[@*]");
  List<Element> eList11 = root.selectNodes("//*[not(@*)]");
  
  
  List<Element> eList12 = root.selectNodes("//person[@id='person1']");

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2301716.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络运维学习笔记 012网工初级(HCIA-Datacom与CCNA-EI)某机构新增:GRE隧道与EBGP实施

文章目录 GRE隧道&#xff08;通用路由封装&#xff0c;Generic Routing Encapsulation&#xff09;协议号47实验&#xff1a;思科&#xff1a;开始实施&#xff1a; 华为&#xff1a;开始实施&#xff1a; eBGP实施思科&#xff1a;华为&#xff1a; GRE隧道&#xff08;通用路…

RK3568开发板/电脑/ubuntu处于同一网段互通

1.查看无线局域网适配器WLAN winR输入cmd打开电脑终端输入ipconfig或arp -a查看无线局域网IP地址&#xff0c;这就是WIFI. 这里的IPv4是192.168.0.147&#xff0c;默认网关是192.168.0.1&#xff0c;根据网关地址配以太网IP, ubuntu的IP,和rk3568的IP。 且IP范围为192.168.…

如何调用 DeepSeek API:详细教程与示例

目录 一、准备工作 二、DeepSeek API 调用步骤 1. 选择 API 端点 2. 构建 API 请求 3. 发送请求并处理响应 三、Python 示例&#xff1a;调用 DeepSeek API 1. 安装依赖 2. 编写代码 3. 运行代码 四、常见问题及解决方法 1. API 调用返回 401 错误 2. API 调用返回…

如何在Jenkins上查看Junit报告

在 Jenkins 上查看 JUnit 报告通常有以下几个步骤&#xff1a; 构建结果页面: 首先&#xff0c;确保你的 Jenkins 构建已经执行完毕&#xff0c;并且成功生成了 JUnit 报告。前往 Jenkins 主页面&#xff0c;点击进入相应的项目或流水线。 构建记录: 选择你想查看的特定构建记…

【深度学习】计算机视觉(CV)-图像生成-风格迁移(Style Transfer)

风格迁移&#xff08;Style Transfer&#xff09; 风格迁移是一种计算机视觉技术&#xff0c;可以将一张图像的内容和另一张图像的风格融合在一起&#xff0c;生成一张既保留原始内容&#xff0c;又带有目标风格的全新图像&#xff01;这种方法常用于艺术创作、图像增强、甚至…

在项目中调用本地Deepseek(接入本地Deepseek)

前言 之前发表的文章已经讲了如何本地部署Deepseek模型&#xff0c;并且如何给Deepseek模型投喂数据、搭建本地知识库&#xff0c;但大部分人不知道怎么应用&#xff0c;让自己的项目接入AI模型。 文末有彩蛋哦&#xff01;&#xff01;&#xff01; 要接入本地部署的deepsee…

JAVA中常用类型

一、包装类 1.1 包装类简介 java是面向对象的语言&#xff0c;但是八大基本数据类型不符合面向对象的特征。因此为了弥补这种缺点&#xff0c;为这八中基本数据类型专门设计了八中符合面向面向对象的特征的类型&#xff0c;这八种具有面向对象特征的类型&#xff0c;就叫做包…

使用 GPTQ 进行 4 位 LLM 量化

权重量化方面的最新进展使我们能够在消费级硬件上运行大量大型语言模型&#xff0c;例如 RTX 3090 GPU 上的 LLaMA-30B 模型。这要归功于性能下降最小的新型 4 位量化技术&#xff0c;例如GPTQ、GGML和NF4。 在本文中&#xff0c;我们将探索流行的 GPTQ 算法&#xff0c;以了解…

【黑马点评优化】2-Canel实现多级缓存(Redis+Caffeine)同步

【黑马点评优化】2-Canel实现多级缓存&#xff08;RedisCaffeine&#xff09;同步 0 背景1 配置MySQL1.1 开启MySQL的binlog功能1.1.1 找到mysql配置文件my.ini的位置1.1.2 开启binlog 1.2 创建canal用户 2 下载配置canal2.1 canal 1.1.5下载2.2 配置canal2.3 启动canal2.4 测试…

CPP集群聊天服务器开发实践(五):nginx负载均衡配置

1 负载均衡器的原理与功能 单台Chatserver可以容纳大约两万台客户端同时在线聊天&#xff0c;为了提升并发量最直观的办法需要水平扩展服务器的数量&#xff0c;三台服务器可以容纳六万左右的客户端。 负载均衡器的作用&#xff1a; 把client的请求按照负载均衡算法分发到具体…

百问网(100ask)的IMX6ULL开发板的以太网控制器(MAC)与物理层(PHY)芯片(LAN8720A)连接的原理图分析(包含各引脚说明以及工作原理)

前言 本博文承接博文 https://blog.csdn.net/wenhao_ir/article/details/145663029 。 本博文和博文 https://blog.csdn.net/wenhao_ir/article/details/145663029 的目录是找出百问网(100ask)的IMX6ULL开发板与NXP官方提供的公板MCIMX6ULL-EVK(imx6ull14x14evk)在以太网硬件…

组件库地址

react&#xff1a; https://react-vant.3lang.dev/components/dialoghttps://react-vant.3lang.dev/components/dialog vue用v2的 Vant 2 - Mobile UI Components built on Vue

2025.2.16机器学习笔记:TimeGan文献阅读

2025.2.9周报 一、文献阅读题目信息摘要Abstract创新点网络架构一、嵌入函数二、恢复函数三、序列生成器四、序列判别器损失函数 实验结论后续展望 一、文献阅读 题目信息 题目&#xff1a; Time-series Generative Adversarial Networks会议&#xff1a; Neural Information…

最新智能优化算法: 中华穿山甲优化( Chinese Pangolin Optimizer ,CPO)算法求解23个经典函数测试集,MATLAB代码

中华穿山甲优化&#xff08; Chinese Pangolin Optimizer &#xff0c;CPO&#xff09;算法由GUO Zhiqing 等人提出&#xff0c;该算法的灵感来自中华穿山甲独特的狩猎行为&#xff0c;包括引诱和捕食行为。 算法流程如下&#xff1a; 1. 开始 设置算法参数和最大迭代次数&a…

使用 DeepSeek + 语音转文字工具 实现会议整理

目录 简述 1. DeepSeek与常用的语音转文字工具 1.1 DeepSeek 1.2 讯飞听见 1.3 飞书妙记 1.4 剪映电脑版 1.5 Buzz 2. 安装Buzz 3. 使用DeepSeek Buzz提取并整理语音文字 3.1 使用 Buzz 完成语音转文字工作 3.2 使用 DeepSeek 进行文本处理工作 3.3 整理成思维导图…

【OS安装与使用】part4-ubuntu22.04安装anaconda

文章目录 一、待解决问题1.1 问题描述1.2 解决方法 二、方法详述2.1 必要说明2.2 应用步骤2.2.1 官网下载Anaconda&#xff08;1&#xff09;确认自己的系统型号与硬件架构&#xff08;2&#xff09;官网下载对应版本 2.2.2 安装Anaconda&#xff08;1&#xff09;基于shell脚本…

Spring IoC DI:控制反转与依赖注入

目录 前言 - Spring MVC 与 Spring IoC 之间的关系 1. IoC 1.1 Spring Framework, Spring MVC, Spring boot 之间的联系[面试题] 1.2 什么是容器 1.3 什么是 IoC 2. DI 2.1 什么是 DI 3. Spring IoC & DI 3.1 Component 3.2 Autowired 4. IoC 详解 4.1 Applica…

数字化转型4化:标准化奠基-信息化加速-数字化赋能-智能化引领

​随着经济增速的放缓&#xff0c;大国体系所催生的生产力逐渐释放&#xff0c;后续业务的发展愈发需要精耕细作&#xff0c;精益理念也必须深入企业的骨髓。与此同时&#xff0c;在全球经济一体化的大背景下&#xff0c;企业面临着来自国内外同行&#xff0c;甚至是跨行业的激…

简单易懂,解析Go语言中的Channel管道

Channel 管道 1 初始化 可用var声明nil管道&#xff1b;用make初始化管道&#xff1b; len()&#xff1a; 缓冲区中元素个数&#xff0c; cap()&#xff1a; 缓冲区大小 //变量声明 var a chan int //使用make初始化 b : make(chan int) //不带缓冲区 c : make(chan stri…

C++基础知识学习记录—模版和泛型编程

1、模板 概念&#xff1a; 模板可以让类或者函数支持一种通用类型&#xff0c;在编写时不指定固定的类型&#xff0c;在运行时才决定是什么类型&#xff0c;理论上讲可以支持任何类型&#xff0c;提高了代码的重用性。 模板可以让程序员专注于内部算法而忽略具体类型&#x…