XML简介

XML是可扩展标记语言。可以计算机语言与语言之间进行交流。

特点:1、xml具有平台无关性,是一门独立的标记语言
                     2、xml具有自我描述性

XML语法

        1、  XML 文档声明      <?xml version="1.0" encoding="utf-8"?>2、  标记(元素 / 标签 / 节点)xml文档,又一个个的标记组成。语法:开始标记(开放标记):<标记名称>结束标记(闭合标记):</标记名称>标记名称:自定义名称,必须遵循一下命名规则:1、名称可以含字母、数字以及其他的字符2、名称不能以数字或这标点符号开始3、名称不能以字符"xml"(或者MXL、Xml)开始4、名称不能包含空格,不能包含冒号( :)5、名称要区分大小写标记内容:开始标记与结束标记之间,是标记的内容。比如<name>张三</name><name>李四</name>3、一个XML文档中,必须有且且仅有允许又一个根标记。正例:<names><name>张三</name><name>李四</name></names>反例:<name>张三</name><name>李四</name>4、标记可以嵌套,但不能交叉。正例:<person><name>盘古</name><age>千大数</age></person>反例:<person><name>鸿蒙<age></name>百大数</age></person>5、标记的层次称呼(子标记,父标记,兄弟标记,后代标记,祖先标记)例如:<persons><person><name>女娲</name><age>十大数</age></person><person><name>东皇太一</name><age>十大数</age></person></persons>name是person的子标记,也是person的后代标记name是persons的后代标记name是age的兄弟标记person是name父标记persons是name的先祖标记6、标记名称 允许重复*       7、标记除了开始和结束,还要属性。标记中的属性,在标记开始时描述,由属性名称和属性值组成格式:在开始标记中描述属性。可以包含0~n 个属性,每一个属性是一个键值对!属性名称不能重复 ,键 与 值之间使用等号连接,多个属性之间使用空格分割属性值必须被引号引住。案例:<persons><person id="1000032" groupid="1"><name>天波旬</name><age>千无量大海</age></person><person><name>欲色天</name><age>千无量大海</age></person></persons>8、注释:注释不能写在文档声明前注释不能嵌套注释格式:注释开始   <!--注释结束   -->语法进阶CDATACDATA是不应该由XML解析器解析的文本数据像 "<" 和 "&" 字符在XML元素中都是非法的"<" 会产生错误,因为解析器会把该字符解释为新元素的开始。"&" 会产生错误,因为解析器会把该字符解释为字符实体的开始。某些文本,比如 JavaScript 代码,包含大量 "<" 和 "&" 字符。为了避免错误,可以将脚本代码定义CDATA。CDATA部分中的所以内容都会被解析器忽略。CDATA部分开始:   <![CDATA[结束:      ]]><name><![CDATA[哈<a></a>哈></name>

XML解析

文档对象Document
       指的是加载导内存导整个文档
 
       常用方法:
          1、通过文档对象,获取XML文档中的根元素对象。
               Element root = doc.getRootElement();
          2、添加根节点
               Element root = doc.addElement("根节点名称");
 
    元素对象 Element
       指的是XML文档中的单个节点
 
       常用方法:
           1、获取节点名称
               String getName();
           2、获取节点内容
               String getText();
           3、设置节点内容
               String setText();
           4、根据节点的名称,获取匹配名称的第一个子节点对象
                Element element(String 子节点名称);
           5、获取所以子节点对象
               List<Element> element();
           6、获取节点的属性值
               String attributevalue(String 属性名称);
           7、获取子节点的内容
               String elementText(String 子节点名称);
           8、添加子节点
               Element addElement(String 子节点名称);
           9、添加属性
               Element setAttribute(String 属性名称,String 属性值);

通过java生成XML

步骤1、通过文档帮助器(DocumentHelper),创建空的文档对象Document doc = DocumentHelper.createDocument();2、通过文档对象,向其中添加根节点Element books = doc.addElement("根节点名称");3、通过根节点对象root ,丰富子节点Element book = books.addElement("子节点名称");4、创建一个文件输出流,用于存储XML文件FileOutputStream fos = new FileOutputStream("要存储的位置,路径");5、将文件输出流,转化为XML文档输出流XMLWriter xw  = new XMLWriter(fos);6、写出文档xw.write(doc);7、释放资源xw.close();

根据对象,获取内容生成XML文件

        1、创建需要获取的对象、类Person p = new Person();2、设置节点的内容p.setName("大梵天");p.setAge(千无量大海);//XStream使用3、创建XStream对象XStream x = new XStream();4、修改某个类型生成的根节点(可选的,默认为包明。类名)x.alias("person",Person.class);5、 传入对象, 开始生成String xml = x.toXML(p);System.out.println(xml);}

JSON简介

JavaScript object Notation  JS对象简谱 ,是一种轻量级的数据交换格式。
格式要求:一个对象,由一个打括号表示。括号中 描述对象的属性与函数.通过键值对来描述对象的属性与函数(可以理解为,打括号中,包含的是一个个的键值对。)格式:键与值之间使用冒号连接,多个键值对之间使用逗号分隔。键值对的键  应该使用引号 引住(通常Java解析时,键不实用引号会报错,而JS能正常解析)键值对的值  可以是JS中的任意类型的数据数组格式:中JSON格式中可以与对象相互嵌套[元素1、元素2、……]

GSON解析:

将对象(java)转换为 GSON 字符串在需要转换JSON字符串的位置编写代码:String json = new Gson().toJson(需要转换的对象);如:book b = BookDao.find();String json = new Gson.toJson(b);System.out.println(json)
将GSON字符串转换为对象(Java)需要在转换Java对象的位置编写代码:对象 = new Gson().fromJson(JSON字符串,对象类型.class);如:String json = {"id":"100","name":"文章","info":"内容"}Book book = new Gson().fromJson(json,Book.class);System.out.println(book);
使用HashMap将GSON中的数组转换为对象(Java)List 数组元素键名称 = (List) data.get("数组元素键名称");for (int i = 0; i < 数组元素键名称.size(); i++) {System.out.print(数组元素键名称.get(i)+",");}

Fast Json解析:

Java转换为 fastjson 字符串

String json = JSON.toJSONString(对象);
System.out.println(json);

将fastjson 字符串转换Java

Book book = JSON.parseObject("fastjson字符串", Book.class);
System.out.println(book);
System.out.println(book.getName());

将fastjson的数组格式转换Java

List<String> s = JSON.parseArray("[\"元素1",\"元素2",\"元素3"]", String.class);
System.out.println(s.get(元素坐标));

XML/JSON 语法随堂笔记相关推荐

  1. 笔记 Json语法 01

    1 基本语法规则 JSON 语法规则 JSON 语法是 JavaScript 对象表示法语法的子集. 1.1 数据在名称/值对中 { "navigationBarTitleText" ...

  2. R语言学习丨数据存储文件格式知识,CSV,EXCEL,XML,JSON,MYSQL等

    今天笔记的主要学习内容是R语言里文件相关知识,包含CSV.Excel.XML.JSON.MySQL等. CSV文件 基本介绍 CSV(Comma-Separated Values,字符分隔值,分隔字符 ...

  3. XML Json

    XML && Json 一.XML XML即可扩展标记语言(eXtensible Markup Language).标记是指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包 ...

  4. 图床云存储项目课程随堂笔记

    这个项目属实重量级,第一遍学习的过程比较懵,只是记录一下随堂笔记.后面理解了项目后端代码流程,再细写几篇博客归纳. 基本单机环境配置 大的项目你可能连配置都配不清楚. 新手必须要心细,因为你错了一步, ...

  5. java与JSON语法及解析

    JSON 简介: JSON全称是JavaScript Object Notation,js对象简谱. JSON是一种 轻量级.基于文本的数据交换格式. JSON十分便于阅读和书写,相比XML,文件更小 ...

  6. XML与JSON比较,并用AJAX传输XML/JSON数据

    为实现数据与逻辑代码的分离,可以把数据单独存放,一般用xml 和json格式来存储数据. XML介绍 XML 指可扩展标记语言(EXtensible Markup Language),很类似 HTML ...

  7. JAVA历险记--java基础知识--随堂笔记

    JAVA基础知识随堂笔记 简介 学习视频 题1 题2 答疑 简介 由于本人从事Delphi(很古董的语言了)和c#开发,所以一些基础的知识还是比较了解的,需要熟悉的是IDE的简单操作,以及JAVA的相 ...

  8. 万能的数据传输格式——XML/json

    一.XML简介 1.历史起源 gml(1969)->sgml(1985)->html(1993)->xml(1998) Genaral  Markup  language gml : ...

  9. ajax请求php返回xml数据格式,ajax传输的数据格式(XML,json)怎么获取解析

    ajax传输数据格式 ajax传输XML XML介绍 XML 指可扩展标记语言EXtensible Markup Language,虽然格式和html类似,但是是用来传递数据的. 周杰伦 18 途牛 ...

最新文章

  1. 【NLP-NER】什么是命名实体识别?
  2. Numpy 中 mean() 和 average() 的区别?(average可计算加权平均)
  3. 化工网站开发_西部地区鼓励投资化工(石化)项目征求意见发布
  4. C/Cpp / 野指针和悬空指针
  5. 如何对mysql做物理备份_如何创建物理MySQL备份
  6. linux性能记录,Linux性能记录
  7. KDE桌面没有wifi的解决方案
  8. LanguageTool性能简单测试分析
  9. 《数据挖掘——概念与技术》笔记
  10. python大括号_python大括号 Python中小括号中括号大括号怎么用?
  11. Matlab学习——求解微分方程(组)
  12. java语言运行机制
  13. LeetCode 413.等差数列的划分
  14. Spring Boot-1 (IntelliJ IDEA + gradle)
  15. 中科院博士论文《致谢》
  16. 解决蓝牙耳机连接win10电脑,声音 卡顿,断断续续问题,索尼wf-1000xm3
  17. cc ,gcc 命令解释
  18. Python3实现键盘记录器
  19. 3D 可视化入门:渲染管线原理与实践
  20. html 表单格式插入图片

热门文章

  1. MUI-grid(栅格),超小屏xs和小屏幕sm
  2. 肾有多好人就有多年轻—男女通用
  3. Web全栈架构师(三)——NodeJS+持久化学习笔记(2)
  4. Debian AMD 64bit 折腾经历
  5. 【译】浏览器如何工作:在现代web浏览器场景的之下
  6. 一文了解公有云、私有云、混合云、边缘云、专有云、分布式云
  7. jacob为word添加水印
  8. k8s使用volume将ConfigMap作为文件或目录直接挂载_【大强哥-k8s从入门到放弃06】Secret详解...
  9. 二十余款Linksys路由器曝出安全漏洞,或可被远程控制
  10. 用word制作正规公文(转)