作业:今天是 20xx 年 x 月 x 日,你作为优秀开发者被邀请参与 《微信开发者技 术沙龙》。 李老师是给你留下印象最深的受邀嘉宾,他属于鹅肠微信公众平台官方人 员,他的分享对你触动很大。他分享了公众平台接口数据格式 XML 与 JSON 混 乱的缘由。 在鹅肠微信公众平台设计早期,因为开发团队是从鹅肠其他团队凑的。内 部不同的子团队开发规范很不一致。很多老团队喜欢使用 XML 格式传输数据 (少数,点击查看),很多新人团队过来的成员喜欢使用 JSON 作为传输格式(多 数,点击查看)。为了团队的稳定,当时并没有对格式进行特殊的规则定制,导 致现在很多开发者对此怨声哀悼。 因为平台已经有了百万的开发者,再更改操作规范会导致大量生态问题的 发生,所以到目前问题依旧存在,难以修缮。 你在参与这次技术沙龙之前,对数据传输的格式不太在意。李老师的分享 对你触动很大,也让你明白了,开发时如果前后端没有一个合理统一的数据规 新职课教研教学中心 2 则,会有大量的不必要问题发生。所以你下定决心要掌握好 JSON 和 XML 技术。

第一步,记得在使用XML和JSON是添加jar包,jar包的添加方法就不在这说了

第二步:创建包,类,这应该都知道

然后就是代码了

这个是获取文档类容的

package xml;import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;import java.awt.print.Book;
import java.io.FileInputStream;
import java.io.FileNotFoundException;/*** @Author:* @Description:* @Date Created in 2021-09-25 12:12* @Modified By:*/
public class Demo1 {public static void main(String[] args) throws DocumentException, FileNotFoundException {//找到目标文档FileInputStream fis = new FileInputStream("D://Demo1.xml");//刚刚添加的jar包就是为了使用这个对象SAXReader sa = new SAXReader();//这个文档对象Document read = sa.read(fis);//获取根节点Element root = read.getRootElement();//后面就是想要什么节点自己看就行了Element s = root.element("book");String book = s.elementText("name");System.out.println(book);}
}

这个是读取网页内容的

package xml;import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;/*** @Author:* @Description:* @Date Created in 2021-09-25 14:25* @Modified By:*/
public class Demo2 {public static void main(String[] args) throws IOException, DocumentException {String phone = "15573014586";//获得目标网里的xmlURL u = new URL("http://apis.juhe.cn/mobile/get?phone=" + phone + "&dtype=xml&key=9f3923e8f87f1ea50ed4ec8c39cc9253");//一步步获取读取对象URLConnection conn = u.openConnection();InputStream is = conn.getInputStream();//jar包里的对象创建SAXReader sa = new SAXReader();Document docu = sa.read(is);//获取根节点Element rool = docu.getRootElement();String s = rool.elementText("resultcode");System.out.println(s);}
}

这个是自己生成xml文件

package xml;import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.XMLWriter;import javax.sql.rowset.spi.XmlWriter;
import java.io.*;/*** @Author:* @Description:* @Date Created in 2021-09-25 14:53* @Modified By:*/
public class Demo3 {public static void main(String[] args) throws IOException {//利用文档生成器生成文档Document doc = DocumentHelper.createDocument();//生成根节点啥的,一步步添加内容Element books = doc.addElement("books");Element book = books.addElement("book");Element name = books.addElement("name");Element text = name.addText("哈哈哈");//创建文件输出流,并设置保存的位置FileOutputStream fos=new FileOutputStream("D://a.xml");XMLWriter xm=new XMLWriter(fos);//写入之后记得关闭xm.write(doc);xm.close();}
}

json

先创建一个图书对象,这个应该都会

package json;/*** @Author:* @Description:* @Date Created in 2021-09-25 15:07* @Modified By:*/
public class Book {private int num;private String name;private String info;@Overridepublic String toString() {return "Book{" +"num=" + num +", name='" + name + '\'' +", info='" + info + '\'' +'}';}public int getNum() {return num;}public void setNum(int num) {this.num = num;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getInfo() {return info;}public void setInfo(String info) {this.info = info;}public Book(int num, String name, String info) {this.num = num;this.name = name;this.info = info;}public Book() {}
}

然后利用谷歌的gson生成json,也可以用阿里之类别的,记得导入jar包

package json;import com.google.gson.Gson;/*** @Author:* @Description:使用json* @Date Created in 2021-09-25 14:52* @Modified By:*/
public class Dome {public static void main(String[] args) {/*这个注释起来的是转换成json的代码//先生成一个图书对象Book b=new Book(1001,"语文书","教我们认字");用new gson().tojson方法转成字符串String s = new Gson().toJson(b);System.out.println(s);*///{"num":1001,"name":"语文书","info":"教我们认字"}//下面的是解析json,我直接写一个代码里了//创建一个gson对象Gson g=new Gson();//用fromjson方法传入一串字符,参数二则是你要转成什么对象Book b = g.fromJson("{\"num\":1001,\"name\":\"语文书\",\"info\":\"教我们认字\"}", Book.class);System.out.println(b.getInfo());}
}

最后我个人认为还是json更方便。

微信开发者技术沙龙感悟相关推荐

  1. 1024 鲲鹏开发者技术沙龙·福州站圆满收官!给程序员的福利你收到了吗?

    10月24日,由华为技术有限公司与福建鲲鹏生态创新中心联合主办的"1024鲲鹏开发者技术沙龙"在福州顺利举行. 在沙龙上,来自福建鲲鹏生态创新中心运营总监宋宗佑为活动进行致辞,福建 ...

  2. ​计算产业如何加速突破?鲲鹏开发者技术沙龙带来新答案

    半世纪前,将人类送上月球的阿波罗11号飞船所搭载的电脑CPU主频只有0.043 MHz,而今天,普通手机主频都是登月电脑的5万倍.但伴随5G.人工智能.万物互联带来数据爆炸式的增长,算力仍无法满足对数 ...

  3. IBM “第8格(Debug)”开发者技术沙龙首站招募中,有胆你就来!

    2019独角兽企业重金招聘Python工程师标准>>> 话说,在1947年9月9日,一只飞蛾(bug)钻进了IBM与哈佛大学合作制造的电子管计算机"马克2号"里. ...

  4. 开启人才进阶之旅,鲲鹏开发者技术沙龙点燃计算行业激情

    2020年,新基建风口已至,建设数字基础设施,打造数字产业生态是其关键与核心,而算力底座将成为其重要的运行支撑.数字化浪潮大背景下,鲲鹏计算产业生态,充满巨大的想象与发展空间,但同时也面临专业人才短缺 ...

  5. 游戏安全有多重要?——GAME-TECH游戏开发者技术沙龙

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由云+社区运营团队发布在腾讯云+社区 腾讯云GAME-TECH沙龙继3月深圳站后,将于4月13日来到北京站,与游戏厂商和游戏开发者,畅聊 ...

  6. 腾讯云GAME-TECH游戏开发者技术沙龙(深圳)开启报名

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~. 作者:由腾讯游戏云发表在云+社区 腾讯云GAME-TECH沙龙继1月杭州站后,将于3月30日来到深圳站,与游戏厂商和游戏开发者,畅聊游戏安 ...

  7. 腾讯云游戏开发者技术沙龙,1月19日杭州站报名开启啦!

    欢迎大家前往云加社区,获取更多腾讯海量技术实践干货哦~ 腾讯云GAME-TECH沙龙继12月北京站,将于1月19日来到杭州站,与游戏厂商和游戏开发者,畅聊游戏加速. 游戏全球化"蓝海&quo ...

  8. 百度搜索技术沙龙感悟

    对于百度索引中提供检索的数据只有百亿条,而现在每天增加的数据量已是2-3亿条,现在每一天增加的数据量是2003年一年数据的增长量.对于如此强势的增长,要对数据进行全部索引并在200-300个毫秒级返回 ...

  9. 电信“天翼物联开发者大赛”技术沙龙走进京城,邀您共享NB-Iot盛宴

    电信"天翼物联开发者大赛"技术沙龙走进京城,邀您共享NB-Iot盛宴 中国电信首届"天翼物联开发者大赛"技术沙龙北京站 时间:2018年12月07日 13:30 ...

最新文章

  1. 吐血整理:24种可视化图表优缺点对比,一图看懂!
  2. 浅谈JDBC与ODBC的区别与应用
  3. 文件上传服务器jvm调优,JVM性能调优解决方案(12页)-原创力文档
  4. java中的localDate类_java8-LocalDate类
  5. php定时执行任务没有执行,linux中定时任务crontab中的php任务无法执行,求可能的原因...
  6. python下划线怎么输入_python长的下划线怎么打
  7. 大气的压力竟然能吊起相扑力士!?
  8. Promise学习笔记
  9. wampserver php扩展openssl 不可用_PHP基础及WAMP集成基础
  10. lucene 多索引目录搜索实现方法
  11. [机器学习-sklearn]数据预处理要点总结
  12. linux快速cd多层目录,linux 下 cd - cd ~- 和多目录切换技巧(示例代码)
  13. 利用虚拟机搭建Linux操作系统实验环境
  14. Android adb环境变量配置
  15. 【Vue】VSCode搭建Vue项目
  16. 怎样使用Fiddler工具进行APP抓包
  17. 构筑“数据连接器”,腾讯云大数据推出“开源开放”战略
  18. 《无主之地2》已经完工,内容已整理完整封盘送审
  19. 安装onnx遇到error信息:Couldn‘t build proto file
  20. android studio抛出,Android Studio升级到3.0,抛出Aapt2Exception异常

热门文章

  1. 【校招VIP】[前端][二本][7分]简历样式符合一线校招要求
  2. 橄榄油的美容方法,橄榄油的正确用法
  3. 漫步微积分十六——最大最小值问题
  4. DDR5 On Die ECC
  5. 蓝桥杯成绩分析python
  6. 华为自带免费测试软件,手机测速软件哪家强 华为推“一键测速”免费无广告...
  7. 别再让我帮你盖楼了行不?给个脚本自动盖楼领喵币--文末送书
  8. 如何在漫画阅读器中离线阅读Webcomics
  9. 黑客日记:我是一个黑客
  10. mysql offset 问题_MySQL_优化mysql的limit offset的例子, 经常碰到的一个问题是limi - phpStudy...