java xml 二之Schema总结

2024-05-27 10:32
文章标签 java xml 总结 schema

本文主要是介绍java xml 二之Schema总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

下面讲解XML Schema【非常重要】:


我们自己写的XML文件需要用Schema来验证有效性,而Schema恰恰也是一个XML文件,那么Schema这个XML文件的有效性用什么来验证呢?答案是用DTD来验证。用内置的XMLSchema.dtd来验证Schema文件(一个XML文件)的有效性。所以Schema里面定义命名空间的那个URL不能换成其他的,只能是http://www.w3.org/2001/XMLSchema,这里面包含了验证Schema有效性的DTD。


重点查看附件xml_3.pdf文档里面的内容,这个是上课的课件,里面详细讲解了Schema的相关内容,仔细阅读研究。

下面是自定义数据类型的一对使用示例:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="cat" type="xs:string"/>
<xs:element name="dog" type="xs:string"/>
<!--自定义数据类型,这种类型里面必须包含cat和dog两个元素,并且这两个元素都是字符串类型的-->
<xs:complexType name="myType">
<xs:sequence maxOccurs="unbounded">
<xs:element ref="cat"/>
<xs:element ref="dog"/>
</xs:sequence>
<!-- sequence表示按顺序,minOccurs表示最小出现次数,maxOccurs表示最大出现次数,unbounded表示最大出现次数没有限制 -->
</xs:complexType>
<!-- 定义了一个元素,这个元素的类型是自定义的myType类型 -->
<xs:element name="pets" type="myType"/>
</xs:schema>

<?xml version="1.0" encoding="UTF-8"?>
<pets xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\Documents and Settings\Administrator\桌面\XML\myschema2.xsd">
<cat>123</cat>
<dog>456</dog>
</pets>


凡是在Schema里面定义的element元素,就表示在相应的XML里面直接用的,Schema里面定义的类型complexType是不能直接在XML里面使用的。类型是抽象的概念,比如定义的某个元素可以是牟某种类型的,类型不能直接在XML里面使用。


下面是日常Schema-XML开发中最常用到的一些Schema使用示例【非常重要,根据里面的注释仔细研究,拷贝到XMLSpy里面运行起来】:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<!-- 把name、birthday、age三个放到一组里面,以后凡是使用myGroup的地方,这三个元素就会同时出现 -->
<xs:group name="myGroup">
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="birthday" type="xs:date"/>
<xs:element name="age" type="xs:integer"/>
</xs:sequence>
</xs:group>
<!-- 定义一个元素,这个元素引用上面定义的组myGroup -->
<xs:element name="person">
<xs:complexType>
<xs:group ref="myGroup"/>
</xs:complexType>
</xs:element>
</xs:schema>

<?xml version="1.0" encoding="UTF-8"?>
<person xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\Documents and Settings\Administrator\桌面\XML\myschema3.xsd">

<name>tom</name>
<birthday>2013-10-10</birthday>
<age>12</age>

</person>


<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:attribute name="interest" type="xs:integer"/>
<!-- person这个元素里面包含hello和world两个元素,并且它有一个属性interest,这个属性可有可无 -->
<xs:element name="person">
<xs:complexType>
<xs:sequence>
<xs:element name="hello" type="xs:string"/>
<xs:element name="world" type="xs:string"/>
</xs:sequence>
<xs:attribute ref="interest"/>
</xs:complexType>
</xs:element>
</xs:schema>

<?xml version="1.0" encoding="UTF-8"?>
<person xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\Documents and Settings\Administrator\桌面\XML\myschema4.xsd" interest="123">

<hello></hello>
<world></world>


</person>


<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<!-- 属性组定义,hello属性必须有,world属性可有可无 -->
<xs:attributeGroup name="myAttributeGroup">
<xs:attribute name="hello" type="xs:string" use="required"/>
<xs:attribute name="world" type="xs:string" use="optional"/>
</xs:attributeGroup>
<!-- 这个元素里面不包含其他元素,里面是空的,但是它有一些属性,它引用了属性组myAttributeGroup -->
<xs:element name="myElement">
<xs:complexType>
<xs:attributeGroup ref="myAttributeGroup"/>
</xs:complexType>
</xs:element>
</xs:schema>

<?xml version="1.0" encoding="UTF-8"?>
<myElement xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\Documents and Settings\Administrator\桌面\XML\myschema5.xsd" hello="abc"></myElement>



<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<!-- 自定义一个类型,如果有一个元素它的类型是myType,那么这个元素的值只能是介于0到100之间 -->
<xs:simpleType name="myType">
<xs:restriction base="xs:integer">
<xs:minExclusive value="0"/>
<xs:maxExclusive value="100"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="hello" type="myType"/>
</xs:schema>

<?xml version="1.0" encoding="UTF-8"?>
<hello xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\Documents and Settings\Administrator\桌面\XML\myschema6.xsd">

10

</hello>




<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<!-- 自定义一个类型,如果有一个元素它的类型是myType,那么这个元素的值只能是5、7、9中的一个 -->
<xs:simpleType name="myType">
<xs:restriction base="xs:integer">
<xs:enumeration value="5"/>
<xs:enumeration value="7"/>
<xs:enumeration value="9"/>
<!-- 定义的枚举类型,用户的元素值只能是这几个值当中的一个 -->
</xs:restriction>
</xs:simpleType>
<xs:element name="hello" type="myType"/>
</xs:schema>

<?xml version="1.0" encoding="UTF-8"?>
<hello xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\Documents and Settings\Administrator\桌面\XML\myschema7.xsd">

5

</hello>




<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<!-- 自定义一种类型,如果某个元素是这种类型,那么在这个元素里面可以使用itemType所指定的类型,只要我的所有元素值是属于所指定的类型就行。有一个元素值不属于这种类型就会报错。每个元素值中间用空格间隔 -->
<xs:simpleType name="myType">
<xs:list itemType="xs:integer"/>
<!-- list相当于一种集合一样 -->
</xs:simpleType>
<xs:element name="hello" type="myType"/>
</xs:schema>

<?xml version="1.0" encoding="UTF-8"?>
<hello xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\Documents and Settings\Administrator\桌面\XML\myschema8.xsd">

1 2 3 78

</hello>


<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<!-- 定义一个属性。把roadbikeSize类型和mountainbikeSize类型作为allFrameSize这个属性的union的memberTypes的属性值(中间用空格间隔)。也就是说memberTypes值要么取roadbikeSize要么取mountainbikeSize,二者只能取一个。如果取roadbikeSize,那么memberTypes值是46、55、60中的一个;如果取mountainbikeSize,那么memberTypes值是small、medium、large中的一个。总结:属性allFrameSize只能是六选一 -->
<xs:attribute name="allFrameSize">
<xs:simpleType>
<xs:union memberTypes="roadbikeSize mountainbikeSize"/>
</xs:simpleType>
</xs:attribute>
<!-- 自定义一种类型,名字叫roadbikeSize,它的约定限制是基于正整数,从46、55、60这三个值里面选一个可以作为这个类型的值 -->
<xs:simpleType name="roadbikeSize">
<xs:restriction base="xs:positiveInteger">
<xs:enumeration value="46"/>
<xs:enumeration value="55"/>
<xs:enumeration value="60"/>
</xs:restriction>
</xs:simpleType>
<!-- 自定义一种类型,名字叫mountainbikeSize,它的约定限制是基于字符串,从small、medium、large这三个值里面选一个可以作为这个类型的值 -->
<xs:simpleType name="mountainbikeSize">
<xs:restriction base="xs:string">
<xs:enumeration value="small"/>
<xs:enumeration value="medium"/>
<xs:enumeration value="large"/>
</xs:restriction>
</xs:simpleType>
<!-- 定义一个元素 -->
<xs:element name="hello">
<xs:complexType>
<xs:sequence>
<xs:element name="welcome" type="xs:string"/>
</xs:sequence>
<xs:attribute ref="allFrameSize" use="required"/>
<!-- 复杂类型,定义一个元素(子元素) -->
<!-- 定义一个属性,这个属性类型是allFrameSize -->
</xs:complexType>
</xs:element>
</xs:schema>

<?xml version="1.0" encoding="UTF-8"?>
<hello xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\Documents and Settings\Administrator\桌面\XML\myschema9.xsd" allFrameSize="small">

<welcome>

</welcome>

</hello>



========================以上都是simpleType的一些用法=====================

simpleType和complexType区别:
1、simpleType类型的元素中不能包含元素或者属性。
2、当需要声明一个元素的子元素和/或属性时,用complexType【特点:有子元素,同时有可能有属性,换句话说,属性和子元素里面必然至少有一个,或者两个都有。】;
3、当需要基于内置的基本数据类型定义一个新的数据类型时,用simpleType。


<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<!-- 根元素 -->
<xs:element name="showSize">
<!-- 这个元素是复杂类型 -->
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:decimal">
<xs:attribute name="sizing" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="us"/>
<xs:enumeration value="europe"/>
<xs:enumeration value="uk"/>
</xs:restriction>
<!-- sizing属性的值是一个枚举,可以从下面几个值里面选择一个 -->
</xs:simpleType>
</xs:attribute>
</xs:extension>
<!-- 表示showSize元素内容是decimal类型的(十进制的小数)。基于decimal进行扩展,十进制的,可以包含小数,对十进制有一个扩展 -->
<!-- 里面必定有一个名字叫做sizing的属性 -->
</xs:simpleContent>
<!-- simpleContent表示上面的showSize元素内容符合什么约定,<xs:simpleContent>标签中间的内容来表示这种约定 -->
<!-- simpleContent表示元素下不包括子元素但是可以包含属性,否则你直接用simpleType不就可以了么。complexType可以包含子元素,可以包含属性,但是使用simpleContent就是为了限定元素中间的内容是什么类型(也就是说元素中间必须有内容,不能是空的),不能包含子元素,但可以包含属性 -->
</xs:complexType>
</xs:element>
</xs:schema>

<?xml version="1.0" encoding="UTF-8"?>
<showSize xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\Documents and Settings\Administrator\桌面\XML\myschema10.xsd" sizing="uk">

10

</showSize>


1. Schema(模式):其作用与dtd一样,也是用于验证XML文档的有效性,只不过它提供了比dtd更强大的功能和更细粒度的数据类型,另外Schema还可以自定义数据类型。此外,Schema也是一个XML文件,而dtd则不是。
2. 所有的schema文档,其根元素必须为schema。
3. SimpleType与ComplexType的区别:
1) SimpleType类型的元素没有子元素,也没有属性。
2) 当需要定义的元素包含了子元素或者属性时,必须要使用ComplexType。
4. SimpleContent,用于ComplexType元素上,用于限定该ComplexType的内容类型,表示该ComplexType没有子元素,同时该ComplexType需要有属性,否则它就成为SimpleType了。
5. 通过DOCTYPE可以明确指定文档的根元素,因为DOCTYPE后面跟的元素就是文档的根元素【用DTD验证的情况下。】;通过Schema是没法明确指定目标XML文档的根元素,XmlSpy是通过推断哪个元素包含了其他元素来选择包含其他元素最多的那个元素作为文档的根,但我们可以明确指定文档的根元素而不必按照XmlSpy的生成来做【并且Schema验证的XML文档根元素也不是固定的,是根据Schema具体内容来定。比如用下面这个Schema验证的XML文档的根元素就不是固定的,可以是helloworld,也可以是welcome,用XmlSpy根据这个Schema生成XML文档的时候它会提示你选择根元素,选哪个都行,比如你选择了helloworld,那么在你的这个XML文档里面就不可能出现welcome了,选择welcome就不可能出现helloworld了。】。


注意sequence和choice的区别,下面这两组例子(4个文件)做比较【重点】:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<!-- 这里表示myType这个复杂类型里面要么有hello这个子元素,要么有world这个子元素,二选一 -->
<xs:complexType name="myType">
<xs:choice maxOccurs="3">
<!-- choice里面定义的元素都相当于局部元素,只能在choice的选择中使用 -->
<xs:element name="hello" type="xs:string"/>
<xs:element name="world" type="xs:string"/>
</xs:choice>
<!-- choice里面的元素最多出现三次(和同一个元素重复出现没有关系,同一个元素出现三次也可以,不同元素出现三次也可以) -->
</xs:complexType>
<xs:element name="helloworld" type="myType"/>
</xs:schema>

<?xml version="1.0" encoding="UTF-8"?>
<helloworld xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\Documents and Settings\Administrator\桌面\XML\myschema11.xsd">

<hello>123</hello>
<hello>123</hello>


</helloworld>


<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<!-- 自定义一种类型,里面包含两个元素 -->
<xs:complexType name="myType">
<xs:sequence maxOccurs="3">
<xs:element name="hello" type="xs:string"/>
<xs:element name="world" type="xs:string"/>
</xs:sequence>
<!-- sequence表示序列,按照顺序执行。equence表示里面的元素都得出现,而且按照顺序,minOccurs和maxOccurs同样指的是整体一组,整体(两个元素必须同时出现,同时出现算作一次)要求最少出现一次,最多出现3次。 -->
</xs:complexType>
<xs:element name="helloworld" type="myType"/>
</xs:schema>

<?xml version="1.0" encoding="UTF-8"?>
<helloworld xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\Documents and Settings\Administrator\桌面\XML\myschema12.xsd">

<hello>abc</hello>
<world>xyz</world>

<hello>abc</hello>
<world>xyz</world>

<hello>abc</hello>
<world>xyz</world>


</helloworld>



<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<!-- 总结:通过DTD验证的XML文档,在DTD里面通过DOCTYPE可以明确指定文档的根元素,因为DOCTYPE后面跟的元素就是文档的根元素。而通过Schema验证的XML文档,是没法明确指定目标XML文档的根元素的,XmlSpy是通过推断哪个元素包含了其他元素来选择包含其他元素最多的那个元素作为文档的根,但我们可以明确指定文档的根元素而不必按照XmlSpy的生成来做,并且Schema验证的XML文档根元素也不是固定的,是根据Schema具体内容来定。比如用下面这个Schema验证的XML文档的根元素就不是固定的,可以是helloworld,也可以是welcome,用XmlSpy根据这个Schema生成XML文档的时候它会提示你选择根元素,选哪个都行,比如你选择了helloworld,那么在你的这个XML文档里面就不可能出现welcome了,选择welcome就不可能出现helloworld了。 -->
<xs:complexType name="myType">
<xs:sequence maxOccurs="3">
<xs:element name="hello" type="xs:string"/>
<xs:element name="world" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="helloworld" type="myType"/>
<xs:element name="welcome" type="myType"/>
</xs:schema>



下面是一个课堂作业,根据给定的XML文件test1.xml自己写出相应的Schema文件,这里写出了两个对应的Schema那件test1-1.xsd和test1_2.xsd,这两个文件都能用来验证test1.xml,首先给出test1.xml代码,然后再给出test1-1.xsd和test1-2.xsd代码。
<?xml version="1.0" encoding="UTF-8"?>
<学生名册 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\Documents and Settings\Administrator\桌面\XML\test1-2.xsd">

<学生 学号="1">
<姓名>张三</姓名>
<性别>男</性别>
<年龄>19</年龄>
</学生>

<学生 学号="2">
<姓名>李四</姓名>
<性别>女</性别>
<年龄>20</年龄>
</学生>

<学生 学号="3">
<姓名>王五</姓名>
<性别>男</性别>
<年龄>21</年龄>
</学生>

</学生名册>

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:simpleType name="sexType">
<xs:restriction base="xs:string">
<xs:enumeration value="男"/>
<xs:enumeration value="女"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ageType">
<xs:restriction base="xs:integer">
<xs:minExclusive value="1"/>
<xs:maxExclusive value="150"/>
</xs:restriction>
</xs:simpleType>
<xs:group name="groupType">
<xs:sequence>
<xs:element name="姓名" type="xs:string"/>
<xs:element name="性别" type="sexType"/>
<xs:element name="年龄" type="xs:integer"/>
</xs:sequence>
</xs:group>
<xs:complexType name="myType">
<xs:choice maxOccurs="unbounded">
<xs:element name="学生">
<xs:complexType>
<xs:group ref="groupType"/>
<xs:attribute name="学号" type="xs:integer"/>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
<xs:element name="学生名册" type="myType"/>
</xs:schema>

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="学生名册">
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:element name="学生">
<xs:complexType>
<xs:sequence>
<xs:element name="姓名" type="xs:string"/>
<xs:element name="性别">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="男"/>
<xs:enumeration value="女"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="年龄">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minExclusive value="1"/>
<xs:maxExclusive value="150"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
<xs:attribute name="学号" type="xs:integer"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

Schema简单总结:
Schema是另一种文档类型定义,它遵循XML的语言规范。
Schema是可扩展的,支持命名空间。
Schema支持更多的数据类型与元素类型。
Schema用element声明元素,用attribute声明元素的属性。
Schema用simpleType定义简单类型,用complexType定义复杂类型。


附件里面的XML_Schema学习总结是教师针对Schema模块专门系统总结的一些重点笔记,一定要详细查看,并且以后的XML Schema开发会经常用到这个笔记总结
附件为上课课件,详细笔记在里面

这篇关于java xml 二之Schema总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1007226

相关文章

Java实现检查多个时间段是否有重合

《Java实现检查多个时间段是否有重合》这篇文章主要为大家详细介绍了如何使用Java实现检查多个时间段是否有重合,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录流程概述步骤详解China编程步骤1:定义时间段类步骤2:添加时间段步骤3:检查时间段是否有重合步骤4:输出结果示例代码结语作

Java中String字符串使用避坑指南

《Java中String字符串使用避坑指南》Java中的String字符串是我们日常编程中用得最多的类之一,看似简单的String使用,却隐藏着不少“坑”,如果不注意,可能会导致性能问题、意外的错误容... 目录8个避坑点如下:1. 字符串的不可变性:每次修改都创建新对象2. 使用 == 比较字符串,陷阱满

Java判断多个时间段是否重合的方法小结

《Java判断多个时间段是否重合的方法小结》这篇文章主要为大家详细介绍了Java中判断多个时间段是否重合的方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录判断多个时间段是否有间隔判断时间段集合是否与某时间段重合判断多个时间段是否有间隔实体类内容public class D

IDEA编译报错“java: 常量字符串过长”的原因及解决方法

《IDEA编译报错“java:常量字符串过长”的原因及解决方法》今天在开发过程中,由于尝试将一个文件的Base64字符串设置为常量,结果导致IDEA编译的时候出现了如下报错java:常量字符串过长,... 目录一、问题描述二、问题原因2.1 理论角度2.2 源码角度三、解决方案解决方案①:StringBui

Java覆盖第三方jar包中的某一个类的实现方法

《Java覆盖第三方jar包中的某一个类的实现方法》在我们日常的开发中,经常需要使用第三方的jar包,有时候我们会发现第三方的jar包中的某一个类有问题,或者我们需要定制化修改其中的逻辑,那么应该如何... 目录一、需求描述二、示例描述三、操作步骤四、验证结果五、实现原理一、需求描述需求描述如下:需要在

Java中ArrayList和LinkedList有什么区别举例详解

《Java中ArrayList和LinkedList有什么区别举例详解》:本文主要介绍Java中ArrayList和LinkedList区别的相关资料,包括数据结构特性、核心操作性能、内存与GC影... 目录一、底层数据结构二、核心操作性能对比三、内存与 GC 影响四、扩容机制五、线程安全与并发方案六、工程

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

C#中读取XML文件的四种常用方法

《C#中读取XML文件的四种常用方法》Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具,下面我们就来看看C#中读取XML文件的方法都有哪些吧... 目录XML简介格式C#读取XML文件方法使用XmlDocument使用XmlTextReader/XmlTextWr

如何使用Java实现请求deepseek

《如何使用Java实现请求deepseek》这篇文章主要为大家详细介绍了如何使用Java实现请求deepseek功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1.deepseek的api创建2.Java实现请求deepseek2.1 pom文件2.2 json转化文件2.2

Java调用DeepSeek API的最佳实践及详细代码示例

《Java调用DeepSeekAPI的最佳实践及详细代码示例》:本文主要介绍如何使用Java调用DeepSeekAPI,包括获取API密钥、添加HTTP客户端依赖、创建HTTP请求、处理响应、... 目录1. 获取API密钥2. 添加HTTP客户端依赖3. 创建HTTP请求4. 处理响应5. 错误处理6.