1.XML:可扩展标记语言(extensible Markup Language)

  • 是一种数据表示格式
  • 可以描述非常复杂的数据结构
  • 用于存储和传输数据

1.1XML特点:

  • 1.纯文本,默认utf-8编码
  • 2.可嵌套,是和表示结构化数据

1.2XML应用:

文件形式,如book.xml

网络传输,xml格式的内容

<?xml version="1.0" encoding="UTF-8"?><!--XML声明,version只能写1.0,encoding默认utf-8-->
<!DOCTYPE note SYSTEM "book.dtd"><!--文档类型定义(DTD指令,可选)-->
<book id="1"><!--有且仅有一个根元素-->
<name>Java技术核心技术</name><!--可以有若干个子元素-->
<author>CayS Hormann</author>
<isbn lang="CN">123456789</isbn><!--元素可以包含属性-->
<tags>
<tag>Java</tag>
<tag>Network</tag>
</tags><!--元素必须正确嵌套-->
<pubDate /><!--空元素用<tag />-->
</book>

XML中的特殊字符

— < < —> & —& " —" , —'

2.验证XML

2.1格式正确的XML:

  • XML的格式是正确的
  • 可以被解析器正常读取

2.2合法的XML

数据结构可以被DTD或者XSD验证

必须符合若干规则,参见注释

2.3如何验证XML文件的正确性,使用浏览器查看或网站验证即可

2.4XML相关技术 很少用到,了解即可

  • DTD和XSD:验证XML结构和数据是否有效
  • Namespace:XML节点和属性的名字空间
  • XSLT:把XML转化为另一种文本的描述语言
  • XPath:一种XML节点查询语言

3.解析XML

两种标准的解析XML的API:

  • DOM:一次性读取XML,在内存中表示为树形结构
  • SAX:以流的形式读取XML,使用事件回调

4.总结:

  • XML是可扩展标记语言的缩写
  • 纯文本数据
  • 用于表示复杂的结构化数据
  • 用于数据的存储和传输
  • 缺点:数据庞大,格式复杂

廖雪峰Java14Java操作XML和JSON-1XML-1XML介绍的更多相关文章

  1. 廖雪峰Java14Java操作XML和JSON-2JSON-2处理JSON

    解析JSON JSR 353 API 常用的第三方库 * Jackson * gson * fastjson Jackson: 提供了读写JSON的API JSON和JavaBean可以互相转换 可食 ...

  2. 廖雪峰Java14Java操作XML和JSON-2JSON-1Json介绍

    JSON是一种类似JavaScript对象的数据表示格式 JavaScript Object Notation 去除了JavaScript的执行语句 仅保留数据 JSON格式: 仅保留UTF-8编码 ...

  3. 廖雪峰Java14Java操作XML和JSON-1XML-4第三方XML库

    总结: 使用Jackson可以快速在XML和JavaBean之间互相转换 可使用Annotation定制序列化和反序列化

  4. 廖雪峰Java14Java操作XML和JSON-1XML-3SAX

    SAX:Simple API for XML 基于事件的API import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXPars ...

  5. 廖雪峰Java14Java操作XML和JSON-1XML-2DOM

    XML是一种数据表示形式. 可以描述非常复杂的数据数据结构 用于传输和传输数据 DOM:Document Object Model DOM模型就是把XML文档作为一个树形结构,从根结点开始,每个节点都 ...

  6. 廖雪峰js教程笔记9 json

    JSON是JavaScript Object Notation的缩写,它是一种数据交换格式. 在JSON出现之前,大家一直用XML来传递数据.因为XML是一种纯文本格式,所以它适合在网络上交换数据.X ...

  7. iOS:网络编程中三个数据解析协议HTTP、XML、JSON的详细介绍

    网络编程:HTTP协议.XML数据协议.JSON数据协议: HTTP: 1.HTTP传输数据有四种方式:Get方式.Post方式.同步请求方式.异步请求方式. 说明:同步和异步请求方式在创建链接对象和 ...

  8. JavaScript操作XML

    JavaScript操作XML (一) JavaScript操作XML是通过XML DOM来完成的.那么什么是XML DOM呢?XML DOM 是: 用于 XML 的标准对象模型 用于 XML 的标准 ...

  9. java使用dom4j和XPath解析XML与.net 操作XML小结

    最近研究java的dom4j包,使用 dom4j包来操作了xml 文件 包括三个文件:studentInfo.xml(待解析的xml文件), Dom4jReadExmple.java(解析的主要类), ...

随机推荐

  1. Async_Study

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  2. 洛谷P3916 图的遍历

    题目链接:https://www.luogu.org/problemnew/show/P3916 题目大意 略. 分析 以终为始,逆向思维. 代码如下 #include <bits/stdc++ ...

  3. 将Mysq数据导入solr索引库

    本文的基础环境都是在centos 64bit,jdk1.7.79 将mysql 的jar 包添加到/home/hadoop/cloudsolr/solr-4.10.4/contrib/dataimpo ...

  4. Qt5 linux下的配置

    对于用Qt开发图形界面,Qt会用到openGL的相关库文件和头文件.虽然绝大多数的linux发行版中都没有预置安装这些开发工具,但是要安装它们,也是非常简单的.用一行安装命令即可安装完毕. Debia ...

  5. rtsp+rtmp多路流媒体播放

    一.前言 之前博主有写过 一篇博文,讲的是使用videojs在谷歌浏览器网页上播放rtmp流媒体,具体可参考我之前的博客:https://www.cnblogs.com/FHC1994/p/99814 ...

  6. MySQL更新指定分组中最大值记录

    数据表中存储着某个状态字段,当分组中所有数据入库后,需要根据相应的最大值更新状态字段,如表: 现在要将no=11的分组中把最大值记录的status更新为1,可以直接这么写: ; done~

  7. arm-linux-objdump 的使用

    1. 查看静态库或.o 文件的组成文件 [arm@localhost gcc]$ arm­linux­objdump ­a libhello.a 2. 查看静态库或.o 文件的络组成部分的头部分 [a ...

  8. anaconda新建环境

    安装tensorflow等如下: https://blog.csdn.net/Gransand/article/details/80713810 修改默认打开目录如下: https://blog.cs ...

  9. CSS——垂直居中

    vertical-align 垂直对齐 以前我们讲过让带有宽度的块级元素居中对齐,是margin: 0 auto; 以前我们还讲过让文字居中对齐,是 text-align: center; 但是我们从 ...

  10. W3C规范学习

    w3c:万维网联盟(World Wide Web Consortium,W3C),又称W3C理事会.W3C组织是对网络标准制定的一个非赢利组织,W3C是万维网联盟的缩写,像HTML.XHTML.CSS ...