java和xml相互转换,java bean转xml文件

解决阿里云信息jaxb-api包冲突 <!-- 阿里云信息 --> <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-core</artifactId> <version>4.0.6</version> <!--... 阅读详情
一、前言。

    最近正在做一个项目,根据需求计划需要一种 Object <--> XML的工具,而JAXB就非常符合需求,于是以下是近天来的研究心得。

二、JAXB技术介绍

1.         什么是JAXB?
    Java  Architecture for XML Binding (JAXB)是一个业界的标准,是一项可以根据XML Schema产生Java类的技术。该过程中,JAXB也提供了将XML实例文档反向生成Java对象树的方法,并能将Java对象树的内容重新写到XML实例文档。从另一方面来讲,JAXB提供了快速而简便的方法将XML模式绑定到Java表示,从而使得Java开发者在Java应用程序中能方便地结合XML数据和处理函数。
    这意味着你不需要处理甚至不需要知道XML编程技巧就能在Java应用程序中利用平台核心XML数据的灵活性。而且,可以充分利用XML的优势而不用依赖于复杂的XML处理模型如SAX或DOM。JAXB隐藏了细节并且取消了SAX和DOM中没用的关系——生成的JAXB类仅描述原始模型中定义的关系。其结果是结合了高度可移植Java代码和高度可移植的XML数据。其中这些代码可用来创建灵活、轻便的应用程序和Web服务。

2.         JAXB的体系结构
JAXB学习 - mengshj - 可可的梦幻世界

JAXB的体系结构和应用过程如图所示,一般来说包含以下几个步骤:

1)        根据你的应用程序所要操作的XML数据格式,撰写相应的XML Schema,有关XML Schema的知识,请参阅“参考资料”

2)        使用JAXB所带的编译工具(Binding Compiler),将这个XML Schema文件作为输入,产生一系列相关的Java Class和Interface

3)        在使用JAXB编译工具的时候,可以有选择性的提供一个配置文件(图的虚线部分),来控制JAXB编译工具的一些高级属性。

4)        这些Java Class和Interface是你的应用程序操纵XML数据的主要接口和方法。

5)        通过JAXB对XML文档进行的操作主要包括:将符合XML Schema规定的XML文档解析生成一组相应的Java对象;对这些对象进行操作(修改、增加和删除对象的属性等等);然后将这些对象的内容保存到这个XML文档中。

三、安装介绍

1.         开发环境准备

1)        Java 1.5 JDK/JRE
(*)
你必须安装java运行环境

2)        Eclipse SDK 3.2.x
Eclipse
推荐下载的版本是< xmlnamespace prefix ="st1" ns ="urn:schemas-microsoft-com:office:smarttags" />3.2.1。

3)        My Eclipse 5.x  (推荐使用)
能为你的XML编写提供帮助,与Eclipse SDK 3.2.x配套使用。

2.         开始安装:

1)        需要下载的软件

A.        下载开发工具包:Java Web Services Developer Pack 2.0
    JAXB2.0
的正式版本的一个实现(大家一定要记住,JAXB只是一个标准,Sun公司提供的此工具包只能说是这个标准的一个实现)已经发布了。由于XML在Web Services中的大量应用,所以,JAXB2.0作为Web Services开发包的一部分,可以从SUN的官方网站下载。其中jaxb包含在jaxb子目录下。

B.        XML文档解析:xerces-2_9_0
    Xerces
是由Apache组织所推动的一项XML文档解析开源项目,jwsdp提供的xerces似乎有Bug,建议下载最新版本,下载请到Apache的官方网站下载。

2)        环境变量配置
    要使用JAXB,在下载JAXB开发包以后,还要设置一些环境变量,主要是设置classpath的路径,以提供JAXB包所带的库文件的位置。
< xmlnamespace prefix ="v" ns ="urn:schemas-microsoft-com:vml" />

JAVA_HOME=D:\java\jdk1.5.0

JWSDP_HOME=D:\Sun\jwsdp-2.0

JAXB_HOME=%JWSDP_HOME%\jaxb

JAXB_LIBS=%JAXB_HOME%\lib

JAXP_LIBS=%JWSDP_HOME%\jaxp\lib

JWSDP_LIBS=%JWSDP_HOME%\jwsdp-shared\lib

PATH=%JAXB_HOME%\bin;%JWSDP_HOME%\jwsdp-shared\bin;%PATH%

CLASSPATH= %JWSDP_HOME%\jaxb\lib\jaxb-api.jar;

%JWSDP_HOME%\jaxb\lib\jaxb-impl.jar;

%JWSDP_HOME%\jaxb\lib\jaxb-xjc.jar;

%JWSDP_HOME%\jwsdp-shared\lib\activation.jar;

%JWSDP_HOME%\sjsxp\lib\jsr173_api.jar;

%JWSDP_HOME%\sjsxp\lib\sjsxp.jar;

< xmlnamespace prefix ="w" ns ="urn:schemas-microsoft-com:office:word" />
注:注意自己原来的 CLASSPATH设置,不要覆盖了。

3)        Eclipse 工程构建路径配置:
JAXB学习 - mengshj - 可可的梦幻世界JAXB学习 - mengshj - 可可的梦幻世界

注:如图所示的JAR都添加到工程的构建路径中。

四、实例分析

1.         确定XML Schema
   
要确定XML Schema意味着你要确定一个规则,来约束你的XML文档,使所有符合这个规则的XML文档看上去都很类似。例如,在这个例子中,我们希望XML文档的格式如下:

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

<users>

    <user>

        <name>小李</name>

        <sex>男</sex>

        <age>24</age>

    </user>

    <user>

        <name>小丽</name>

        <sex>女</sex>

        <age>18</age>

    </user>

    <user>

        <name>小王</name>

        <sex>男</sex>

        <age>22</age>

    </user>

</users>


    XML文档所包含的意思:一个用户组 <users>里面有多个 <user>,而每个 <user>又包括 <name><sex><age>这些信息,而要在应用程序中想要操纵此 XML文档,还要根据这个 XML文档,产生一个 Schema文档。

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

<schema targetNamespace="us" xmlns="http://www.w3.org/2001/XMLSchema"

    xmlns:tns="us">

 

    <simpleType name="Sex">

        <restriction base="string">

            <enumeration value="男"></enumeration>

            <enumeration value="女"></enumeration>

        </restriction>

    </simpleType>

 

    <complexType name="User">

        <sequence>

            <element name="name" type="string"></element>

            <element name="age" type="int"></element>

            <element name="sex" type="tns:Sex"></element>

        </sequence>

    </complexType>

 

    <element name="user" type="tns:User"></element>

 

    <complexType name="Users">

        <sequence>

            <element ref="tns:user" minOccurs="1"

                maxOccurs="unbounded">

            </element>

        </sequence>

    </complexType>

 

    <element name="users" type="tns:Users"></element>

</schema>

 

    Schema和 XML文档之间的关系,就好像 Java中类与实例的关系。每个符合 schema的 XML文档,都是这个 Schema的一个实例;而 Schema本身是一个模板,它规定了 XML文档应该是什么样的。这个 Schema描述了对 xml文档的约束:

1)        它规定了<users>这个节点内可以包含一个或多个<user>的节点。

2)        每个<user>节点包括名字、年龄、性别这几个信息

3)        规定了<sex>属性由“男”和“女”组成

2.         使用编译工具生成相应的Java类
    有了Schema文件以后,我们就可以利用JAXB工具包,让它来替我们生成操纵符合这个Schema规定的所有XML实例文档的所有Java源代码。
    如果已经设置好了环境变量的话(请参考“设置环境变量”),那么只需要运行JAXB包所带的“xjc”运行程序,例如
%JAXB_HOME%\bin\xjc.bat userSchema.xsd -d src –p primer.userinfo
其中:

A.        %JAXB_HOME%是你安装JAXB工具包的位置,通常在jwsdp工具包的子目录下。

B.        userSchema.xsd 是Schema的文件名,一般以xsd作为文件名的后缀。

C.        -d  的选项,是指定系统生成的Java源代码所放置的目录,示例中为:src

D.       -p  的选项,是指定系统生成的Java源代码所在的Java Package的名称,示例中为:primer.userinfo

E.        还有更多的选项,请参考JAXB的相关文档。

如果运行成功的话,就会在你"-d"选项指定的目录下产生一些java代码文件:

3.         在应用程序中使用这些代码
    下面我们分析一下如何在我们的应用程序中使用JAXB工具包替我们生成的代码。

1)        JAXBContext 提供了一个入口,通过这个入口可以管理必要的XML/Java绑定信息。客户端应用程序通过newInstance(contextPath)方法得到该类的新实例。contextPath参数包含一个或多个Java包名,这些Java包就是了JAXB编译器所产生的接口代码所在的Java包。该参数值初始化JAXBContext对象,使得它能够管理JAXB编译器产生的接口。

JAXBContext jc = JAXBContext.newInstance("primer.userinfo");

 

2)        而通过ObjectFactory,可以直接生成根节点java对象Users 和子对象User。

User userA = objFactory.createUser();

Users users = objFactory.createUsers();

3)        对于Marshaller和Unmarshaller,这两个对象主要是用于Java对象和XML文档互相转换的主要接口(Marshaller负责从Java对象到XML文档的转换,Unmarshaller负责从XML文档到Java对象的转换)。

JAXBElement usersE = objFactory.createUsers(users);

Marshaller marshaller = jc.createMarshaller();

marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);

marshaller.marshal( usersE,new FileOutputStream("src/test.xml"));

 Marshaller能把Users 对象转换成XML文件

JAXBElement usersE = (JAXBElement)jc.createUnmarshaller().unmarshal(new File("src/test.xml"));

Users users = (Users)usersE.getValue();

 Unmarshaller能把 XML文件转换成Users对象

4.         实例代码

public void javaToXml() {

        try {

            JAXBContext jc = JAXBContext.newInstance("primer.userinfo");    //参数为JAXB生成的java文件所在包名

            ObjectFactory objFactory = new ObjectFactory(); //生成对象工厂

           

            User userA = objFactory.createUser();

            userA.setName("西瓜");

            userA.setAge(26);

            userA.setSex(Sex.男);

 

            User userB = objFactory.createUser();

            userB.setName("冬瓜");

            userB.setAge(19);

            userB.setSex(Sex.女);

           

            User userC = objFactory.createUser();

            userC.setName("南瓜");

            userC.setAge(22);

            userC.setSex(Sex.男);

 

            Users users = objFactory.createUsers();

            List<User> list = users.getUser();

            list.add(userA);

            list.add(userB);

            list.add(userC);

           

            JAXBElement usersE = objFactory.createUsers(users);

            Marshaller marshaller = jc.createMarshaller(); 

            marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);

            marshaller.marshal( usersE,new FileOutputStream("src/test.xml"));

        } catch (Exception e) {

            e.printStackTrace();

        }

    }

五、参考资料

1.         JAXB
http://java.sun.com/webservices/jaxb/

2.         XML Schema
http://www.w3.org/1999/05/06-xmlschema-1/
http://www.w3.org/1999/05/06-xmlschema-2/

jaxb-api.jar jaxb-api 内部含有jaxb的api,对java.xml.bind 进行了封装 立即下载

相关推荐

jaxb-api.jar.jaxws-api.zip_ jaxb-api.jar_cxf_jax-ws.jar_jaxb-api

cxf框架与jdk6出现冲突的支持包,请大家支持下!

JAXB常用注解

JAXB(Java API for XML Binding),提供了一个快速便捷的方式将Java对象与XML进行转换。在JAX-WS(Java的WebService规范之一)中,JDK1.6 自带的版本JAX-WS2.1,其底层支持就是JAXB。 JAXB 可以实现Java对象与XML的相互转换,在JAXB中,将一个Java对象转换为XML的过程称之为Marshal,将XML...

373

GE Proficy Historian8.0历史数据库部署与配置全攻略

本文提供了GE Proficy Historian 8.0历史数据库的详细部署与配置指南。内容涵盖安装前的系统环境、权限与依赖检查,服务器安装的关键步骤与类型选择,采集器的安装配置与数据接入,以及客户端工具的使用与数据分析实战。旨在帮助用户规避常见陷阱,实现一次部署成功,构建稳定高效的工业数据归档平台。

silver的专栏 766

JAXB-3 JAXB API

3 JAXB API3 JAXB API3.1 JAXBContext 解读3.1.1 newInstance()3.1.2 createMarshaller()3.1.3 createUnmarshaller()3.1.4 createBinder()3.2 静态方法提供者 JAXB3.2.1 JAXBContext3.2.2 JAXB.unmarshal(...)3.2.3 JAXB.mars...

怀旧豆酱味的专栏 1万+

从UC3842的FB脚到COMP脚:一次讲透反激电源两种光耦反馈接法的选择与实战

本文深入探讨了UC3842 PWM控制器在反激式开关电源设计中的两种光耦反馈接法:FB脚与COMP脚方案。通过分析信号极性差异、稳定性特点及动态响应性能,提供场景化选型指南和可靠性设计要点,帮助工程师优化反馈环路设计,提升系统稳定性与效率。特别针对TL431和PC817等关键元件在温度漂移、老化衰减等实际问题给出解决方案。

weixin_28717683的博客 704

CATIA二次开发CAA安装

安装资料在网盘里 Win7 64位 以下软件均已管理员身份运行: 1.安装vs2008->自定义安装->选择要安装的功能->Visual C+±>x64编译器和工具 1.2安装SP1 2.安装CATIA V5 R21->win7_XP->CATIA.P3.V5R21.Win64->setup.exe 2.1安装目录改为D盘 2.2环境目录位置默认 3.安装...

qq_39311458的博客 4631

将xml转换成java bean_java中bean和xml相互转换

简介JAXB(Java Architecture for XML Binding) 是一个业界的标准,是一项可以根据XML Schema产生Java类的技术。该过程中,JAXB也提供了将XML实例文档反向生成Java对象树的方法,并能将Java对象树的内容重新写到XML实例文档。从另一方面来讲,JAXB提供了快速而简便的方法将XML模式绑定到Java表示,从而使得Java开发者在Java应用程序中...

weixin_29502483的博客 1322

图文教程本地部署开源扣子Coze Studio工作流并接入 Gemini 大模型(windows亲测) Coze Studio 本地部署、Gemini 模型接入、开源 AI 工具平台、大模型工作流搭建

本文介绍了在Windows系统本地部署开源AI工具平台Coze Studio并接入Google Gemini大模型的完整教程。主要内容包括:1) 环境准备要求(Docker等);2) 获取源码和配置Gemini模型(需API密钥);3) 通过Docker Compose部署服务;4) 浏览器访问验证。文章指出该平台适合私有化部署,支持智能体和工作流搭建,但也存在插件系统不完善等局限。最后提供了相关资源链接,为开发者实现本地AI解决方案提供了实用指南。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 2779

JAXB实现XML和Bean相互转换

Java中实现XML和Bean的转换的方式或插件有以下几种:JAXB(Java Architecture for XML Binding):JAXB是Java SE的一部分,可以将Java对象与XML文档相互转换。它提供了注解和XML绑定文件两种配置方式。Dom4j:Dom4j是一个开源的Java库,用于操作XML文档。它可以将XML文档转换为Java对象,也可以将Java对象转换为XML文档。

quyingzhe0217的博客 1912

SAP GUI 经典事务在 Fiori Launchpad 中的穿越之道:原理、配置与实践指南

在许多企业的 S/4HANA 或 ECC 系统里,经典 SAP GUI 事务依旧承载着关键业务。如何把这些老将自然地嵌入到 Fiori Launchpad,让用户在统一入口里无缝切换新旧 UI,是项目中经常遇到的主题。本文结合社区博文、官方文档与实际项目经验,系统梳理这一过程的技术原理、配置步骤、性能优化以及常见坑点,并给出贴近中国读者的案例解析与改进建议。阅读完毕,你将不仅知道怎么做,还会理解。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 623

使用cmd命令查看电脑是不是翻新机 如何查看自己电脑是不是翻新机

最近pdd啥的百亿补贴啊,什么品牌店啊,很多“假一赔十”,绝对“正品”都蹦出来了,很多人拿到以后,也上网查了各种鉴别方式,包括区分是不是翻新机之类的。本人亲自踩坑“pdd品牌店”,“假一赔十”,“绝对正品”等店铺,跟大家分享一下我得鉴别经验(说道分享鉴别经验了,大家也就不用好奇了,我肯定是买到翻新机了,mmp)。 第一步:准备好手机,开始录屏,没有完整的拆箱视频,可能不容易退货退款 第二步:拆箱,查看屏幕划痕(用手机闪光灯看,要不然看不清),然后查看屏幕有没有被擦过的痕迹 第三步:查看USB孔等插口有没有划

weixin_39417324的博客 1万+

Java开发中xml和javabean实体类之间的相互转换

Java开发中xml和javabean实体类之间的相互转换 目录 Java开发中xml和javabean实体类之间的相互转换 1.xml转javabean 1.1 xml格式如下,只有一层的: 1.2有两层的xml, 2.vo转xml 1.xml转javabean 1.1 xml格式如下,只有一层的: &lt;?xml version='1.0' encoding='UTF-8...

qq_31968809的博客 3468

YOLO11 改进系列 | 引入2023年 MLCA 的 C3k2_MLCA 模块,近零参数开销的本地-全局通道注意力,适合检测与分割特征增强

本文提出将MLCA(混合局部通道注意力)模块嵌入YOLOv11的C3k2框架中,形成C3k2_MLCA改进结构。该模块通过5×5局部池化和1×1全局池化双路融合,结合ECA式Conv1d生成通道注意力,在几乎不增加参数量的前提下(仅增加66个参数),实现了局部空间信息与全局通道统计的联合建模。相比传统SE和ECA注意力,MLCA保留了空间分布信息,更适合实例分割等需要精细定位的任务。实验表明改进后模型参数量仅增加0.002%,计算量基本不变,是一种高效的注意力增强方案。

qq_44224801的博客 92

Springboot中你用Xstream和JAXB方式xml与bean相互转换

在现今的项目开发中,虽然数据的传输大部分都是用json格式来进行传输,但是xml毕竟也会有一些老的项目在进行使用,正常的老式方法是通过获取节点来进行一系列操作,个人感觉太过于复杂、繁琐。推荐一套简单的api--XStream类。在理解了原理的情况下看下注解的语法即会使用例子是把xml映射成bean对象 <?xml version="1.0" encoding="UTF-8"?> &...

霓虹深处 2500

【人工智能】 WebDev Arena:实时AI Web开发竞赛的技术探索与价值

《AI编程竞赛推动Web开发技术创新》摘要:WebDev Arena作为聚焦Web开发领域的实时AI编程竞赛,通过标准化竞技环境检验AI模型在代码生成、问题解决等方面的能力。竞赛覆盖前端、后端等全流程开发环节,采用实时评分机制,推动AI对复杂Web需求的理解和多元技术栈适配。该赛事不仅促进AI编程技术创新,更为Web开发行业与AI技术融合搭建桥梁,有望提升开发效率、降低技术门槛。未来将拓展Web3.0等前沿技术主题,持续推动行业智能化发展。(150字)

奶爸的编程之路,也就一周冷个三天 255

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

使用JAXB实现XML和BEAN的相互转换(实例及踩坑记录)

使用JAXB实现XML和BEAN的相互转换(实例及踩坑记录) 参考文档链接: https://blog.youkuaiyun.com/5iasp/article/details/38492825 https://blog.youkuaiyun.com/huanghanqian/article/details/51549066 1.概念 JAXB(Java Architecture for XML Binding...

ui466327的博客 6714

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

java xml/bean转换

jdk提供了JAXB来解析bean和xml之间的转换 常用注解 @XmlTransient:不参与序列化(有该注解表示瞬态,没有表示非瞬态) @XmlAccessorType:控制字段或属性是否序列化 XmlAccessorType.FIELD:类中的每个非静态、非瞬态字段将自动绑定到XML XmlAccessorType.NONE:没有字段或属性绑定到XML,除非使用特定的注解 XmlAcce...

weixin_45052750的博客 629

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Java中Xml文件和Bean互相转换

JAXB(Java Architecture for XML Binding) 是一个业界的标准,可以根据XML Schema产生Java类的技术。该过程中,JAXB也提供了将XML实例文档反向生成Java对象树的方法,并能将Java对象树的内容重新写到XML实例文档。JAXB提供了快速而简便的方法将XML模式绑定到Java表示,从而使得Java开发者在Java应用程序中能方便地结合XML数据和处...

西木风落 3189

XStream进行xml与bean的相互转换

一、使用xstream需要引入jar包建立依赖 pom: <dependency> <groupId>com.thoughtworks.xstream</groupId> <artifactId>xstream</artifactId> <version>1.4.3</version>...

种一棵树最好的时间是十年前,其次是现在。 742

利用JAXB实现xml和bean之间的转换(一)

JAXB能够使用Jackson对JAXB注解的支持实现(jackson-module-jaxb-annotations),既方便生成XML,也方便生成JSON,这样一来可以更好的标志可以转换为JSON对象的JAVA类。 JDK中JAXB相关的重要Class和Interface: JAXBContext类,是应用的入口,用于管理XML/Java绑定信息。 Marshaller接口,将Java对

LchinaM的专栏 1万+

dom4j xml转java对象_dom4j+反射实现bean与xml的相互转换

由于目前在工作中一直用的dom4j+反射实现bean与xml的相互转换,记录一下,如果有不正确的地方欢迎大家指正~~~一、反射机制在此工具类中使用到了反射技术,所以提前也看了一些知识点,例如:http://www.51gjie.com/java/82(这里面有大量的例子可以学习)二、dom4jdom4j会将整个xml加载至内存,并解析成一个document对象,但是可能会造成内存溢出现象。Docu...

weixin_36486007的博客 1064

XML字符和bean的相互处理

XML字符和java bean的相互转换处理,在项目中经常会用到xml,需要将java bean转换成xml字符,也需要将xml字符转换成java bean。下面直接用代码介绍jdk自带的JAXBContext如何处理xml和bean的相互转换。是一种比较简单的处理方式。 /** 将xml字符转换成java对象 @param xmlStr @param T @return */ @Su...

qq_43112403的博客 472

dom4j+反射实现bean与xml的相互转换

由于目前在工作中一直用的dom4j+反射实现bean与xml的相互转换,记录一下,如果有不正确的地方欢迎大家指正~~~ 一、反射机制   在此工具类中使用到了反射技术,所以提前也看了一些知识点,例如:http://www.51gjie.com/java/82(这里面有大量的例子可以学习) 二、dom4j   dom4j会将整个xml加载至内存,并解析成一个document对象,但...

277

JAXBContext 实现 XML与bean互相转换

JAXBContext 实现 XML与bean互相转换

佛系写BUG的博客 3070

如何将XML转换为Java对象

1.首先创建citylist.xml文件,放在resource目录下,文件内容如下: <?xml version="1.0" encoding="UTF-8"?> <c c1="0"> <d d1="101280101" d2="广州" d3="guangzhou" d4="广东"/> <d d1="101280102" d2="番禺" d3="p...

wunianisme的博客 4968

JavaBean与XML相互转换

一、JavaBean注解 1. @XmlRootElement 类级别注解,name属性用于指定生成元素的名字,若不指定,默认使用类名小写作为元素名 //@XmlRootElement(name="mystudent") @XmlRootElement public class Student { } 对应xml: <student> </student> ...

Luck_ZZ的博客 5788
上一篇: spring的定时任务配置【收藏,已留备用】
下一篇: java删除文件和文件夹
method_chen
博客等级 码龄15年 25粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值