XML简介

XML(EXtensible Markup Language) 可扩展标记语言

特点:XML与操作系统、编程语言的开发平台无关 实现不同系统之间的数据交换

作用 :数据交互 配置应用程序和网站 Ajax基石

xml可以用两种方法解析,一种是DOM,它是基于XML文档树结构的解析 适用于多次访问的XML文档 特点:比较消耗资源。第二种是DOM4J,它拥有非常优秀的Java XML API ,并且性能优异、功能强大 而且它还是开放源代码的。

DOM是如何解析XML文件的呢?

它会把xml文档映射成一个倒挂的数,跟二叉树那种差不多,都是父类带子类

解析步骤

1.创建解析器工厂对象

2.解析器工厂对象创建解析器对象

3.解析器对象指定XML文件创建Document对象

4.以Document对象为起点操作DOM树

public class ParseXMLDemo {Document document=null;public static void main(String[] args) {ParseXMLDemo parseXMLDemo=new ParseXMLDemo();parseXMLDemo.getDocument();parseXMLDemo.addNode();//System.out.println(parseXMLDemo.document);parseXMLDemo.showInfo();}public void addNode(){Element elementBrand = document.createElement("Brand");elementBrand.setAttribute("name","小米");Element elementType = document.createElement("Type");elementType.setAttribute("name","红米m1");Element elementType1 = document.createElement("Type");elementType1.setAttribute("name","大米max");elementBrand.appendChild(elementType);elementBrand.appendChild(elementType1);document.getElementsByTagName("PhoneInfo").item(0).appendChild(elementBrand);this.saveXML("new.xml");}public void saveXML( String path){TransformerFactory transformerFactory = TransformerFactory.newInstance();try {Transformer transformer = transformerFactory.newTransformer();DOMSource source = new DOMSource(document);StreamResult result = new StreamResult(new File(path));transformer.transform(source,result);} catch (TransformerConfigurationException e) {e.printStackTrace();} catch (TransformerException e) {e.printStackTrace();}}public void showInfo(){NodeList brand = document.getElementsByTagName("Brand");for (int i = 0; i < brand.getLength(); i++) {Node node=brand.item(i);Element element=(Element)node;String brandName= element.getAttribute("name");System.out.println(brandName);NodeList types = element.getChildNodes();for (int j = 0; j < types.getLength() ; j++) {Node typeNode = types.item(j);if (typeNode.getNodeType()==Node.ELEMENT_NODE){Element eleType=(Element) typeNode;System.out.println(eleType.getAttribute("name"));}}}}public void getDocument(){DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();try {DocumentBuilder builder= factory.newDocumentBuilder();document=builder.parse("./resource/收藏信息.xml");} catch (ParserConfigurationException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} catch (SAXException e) {e.printStackTrace();}}
}

JSON简介

JSON最初用来表示JavaScript中的对象,但目前已独立于JavaScript,成为最为常用的数据格式之一,他与XML比较以后的优点有

1.轻量级的文本数据交换格式

2.具有自我描述性

3.比XML传输速度快

所以现在大部分都是使用JSON,很少有使用XML的了。

使用JSON编写的简洁了许多,上代码:

 public static void main(String[] args) {ArrayList<String> skills = new ArrayList<>();skills.add("html");skills.add("hadoop");skills.add("hive");String s = JSON.toJSONString(skills);//将skills转换成json字符串System.out.println(s);KB21 kb21 = new KB21();kb21.setAddress("小行路军官学院九号楼108室");kb21.setSkills(skills);ArrayList<Student> students = new ArrayList<>();students.add(new Student(1,"威",14));students.add(new Student(2,"王广",15));students.add(new Student(3,"寒",33));students.add(new Student(4,"飞",55));students.add(new Student(5,"浩",77));kb21.setStus(students);ArrayList<String> teaSkills = new ArrayList<>();teaSkills.add("C,C#,JAVA,SCALA,PYTHON,GO");Teacher green = new Teacher("green", 18, teaSkills);kb21.setTeacher(green);String s1=JSON.toJSON(kb21).toString();System.out.println(s1);}

当然了想要使用JSON还需要装上MAVEN,才可以使用,现在阿里已经开始了Fastjson2的使用,如果idea中使用2版本,却快捷“.”想使用方法却出不来方法,建议去设置里面调一下,全部调到八版本以上,那样Fastjson2就可以适配了。

11.18XML与JSON的简介相关推荐

  1. Java学习-11 XML与JSON

    Java学习-11 XML与JSON 1.XML 1.1.简介 可扩展标记语言(eXtensible Markup Language). 特性:1. xml具有平台无关性, 是一门独立的标记语言.2. ...

  2. 关于JSON的简介及取值以及常见面试题

    关于JSON的简介及取值 JSON(JavaScript Object Notation)一种轻量级的数据交互格式 类似于一种数据封装,可以想象为java中student封装类 JSON的数值可以是数 ...

  3. Java JSON格式简介说明

    转自: Java JSON格式简介说明 下文笔者讲述java中JSON格式的相关简介说明,如下所示: JSON简介说明 JSON(JavaScript Object Notation) 是一种轻量级的 ...

  4. json格式简介和相关操作

    前言:在日常工作中,我们常常会使用json做一些数据的处理,那了解json的一些基础知识和相关操作就尤为重要,本篇就是对于json格式的概括介绍和简单使用. 1.json格式简介 1.1 json基本 ...

  5. JSON Schema 简介

    JSON Schema 简介 本内容翻译自<Understanding JSON Schema> 一.什么是 Schema JSON 代表"JavaScript Object N ...

  6. PHP + jQuery + Json 实现中国省市区三级联动

    定义省市区结构的JSON文件代码: city.data.js: var cityData = [{value: '110000',text: '北京市',children: [{value: &quo ...

  7. json 数据类型简介

    JSON 格式支持以下数据类型: 类型 描述 数字型(Number) JavaScript 中的双精度浮点型格式 字符串型(String) 双引号包裹的 Unicode 字符和反斜杠转义字符 布尔型( ...

  8. 腾讯云数据库团队:MySQL5.7 JSON实现简介

    2019独角兽企业重金招聘Python工程师标准>>> 作者介绍:吴双桥 腾讯云工程师 阅读原文,更多技术干货,请访问腾云阁. 本文主要介绍在MySQL 5.7.7开始引入的非结构化 ...

  9. JSON格式简介及一些对应函数

    json 格式化 jquery js javascript 目录(?)[+] 基础示例 表示名称  值对 表示数组 格式应用 将 JSON 数据赋值给变量 访问数据 修改 JSON 数据 转换回字符串 ...

最新文章

  1. ios8 UITableView section不显示
  2. UI Automator Viewer Error while obtaining UI hierarchy XML file
  3. 用HttpListener做web服务器,简单解析post方式过来的参数、上传的文件
  4. LeetCode 587. 安装栅栏 / LintCode 1152. 安装栅栏(凸包检测:排序+叉积正负判断+正反扫描+去重)
  5. 复制文本朗读_原创:昭明文选配乐朗读 卷第五十一 论一 东方曼倩 非有先生论 王子渊 四子讲德论 并序...
  6. SQLConnect
  7. 安装docker 17.03.2.ce教程
  8. 单相电能量计算机公式,电能与电压电流的关系及计算公式详解
  9. 第二语言教学的5c标准是哪5c,第二语言教学法知识小结(一)
  10. 美国苹果股价走势图(抢先看美股三大指数新动态)
  11. 图片边缘出现黑点的问题分析和解决(纹理过滤)
  12. 万达商管冲刺香港上市:上半年净赚20亿元,已提前“套现”约63亿
  13. linux中查看文件大小
  14. python 实现 代理模式
  15. Android 逆向笔记 —— 一个简单 CrackMe 的逆向总结
  16. 第三章 模块定义图:模块
  17. JAVA计算机毕业设计校园二手书交易平台(附源码、数据库)
  18. 程序运行时报错 :0xC0000005: 写入位置 0x000000xx 时发生访问冲突的原因
  19. VB6.0人脸识别(使用虹软人脸识别SDK)
  20. 需求分析 及需求文档的编写

热门文章

  1. css 上下布局 flex,Css Flex布局
  2. 如何做好项目管理工作|附表格实操模版
  3. sting int 转换
  4. ROS学习记录(一) Plugin插件
  5. 愤怒的小鸟 c语言,C语言_愤怒的小鸟
  6. 图谱实战 | 基于金融场景的事理图谱构建与应用
  7. 数据治理-1. 数据集成-总体方案
  8. WWDC20 CoreImage 专题
  9. Mysql 启动与关闭
  10. 佳能Canon PIXMA MG6851 一体机驱动