java 解析标记语言_Java XML可扩展标记语言(eXtensible Markup Language)
一、XMl
1.1、XML简介:
XML指可扩展标记语言(eXtensible Markup Language),它是一种很像HTML的标记语言。XML的设计宗旨是传输数据,焦点是数据的内容,而HTML被设计用来显示数据,其焦点是数据的外观。XML是不会做任何事情的,它只是被设计用来结构化、存储以及传输信息。
1
2 tom
3 lily
4 I will go home this weekend!
5
1.2、XML结构:
XML是一种树结构。树是一种重要的非线性数据结构,直观地看,它是数据元素(在树中称为结点)按分支关系组织起来的结构,很象自然界中的树那样。
XML文档必须包含根元素,该元素是所有其他元素的父元素。XML文档中的元素形成了一棵文档树,这棵树从根部开始,并扩展到树的最底端。
所有的元素都可以有子元素,父、子以及同胞等术语用于描述元素之间的关系。父元素拥有子元素,相同层级上的子元素成为同胞(兄弟或姐妹)。所有的元素都可以有文本内容和属性(类似于HTML中的元素)
1
2
3
Harry Potter
4 J K. Rowling
5 2005
6 29.99
7
8
9
Everyday Italian
10 Giada De Laurentiis
11 2005
12 30.00
13
14
1.3XML语法规则:
它定义XML的版本(1.0)和所使用的编码(utf-8)字符集。
所有的XML元素都是成对出现的,有一个开始标签,就必须有一个关闭标签。
XML标签对大小写敏感,标签与标签是不同的。
XML文档必须有根元素,标签如果需要嵌套,必须正确嵌套,在内层打开的标签就必须在内层关闭。
XML标签如果需要添加属性,属性值必须加引号。
在XML中编写注释的语法与HTML的语法很相似,都是。
在XML中,空格会被保留,不像HTML中,加再多的空格最终都只合并为一个。
1.4XML命名规则:
名称可以包含字母、数字以及其他的字符
名称不能以数字或者标点符号开始
名称不能以字母 xml(或者 XML、Xml 等等)开始
名称不能包含空格
可使用任何名称,没有保留的字词。
1.5XML元素:
A、开始标记
B、元素属性(字符属性、嵌套元素、实体、CDATA)B、元素内容
1.6DTD:
DTD(文档类型定义)的作用是定义XML文档的合法构建模块。拥有正确语法的XML被称为“形式良好”的XML,我们可以通过DTD验证XML是“合法”的 XML。
1.7为什么使用 DTD:
通过DTD,每一个XML文件均可携带一个有关其自身格式的描述,通过DTD,独立的团体可一致地使用某个标准的DTD来交换数据,而应用程序也可使用某个标准的DTD来验证从外部接收到的数据,还可以使用DTD来验证自身的数据。
1.8 使用dom4j操作xml:
创建Document对象
1 Document document =DocumentHelper.createDocument();2
3 Element root = document.addElement(“students”); //根元素节点
读取XML文件时,获取Document对象
1 SAXReader reader = newSAXReader();2
3 Document document = reader.read(new File(“student.xml”));
字符串解析为XML时,获取Document对象
1 String text =“tom“;2
3 Document document = DocumentHelper.parseText(text);
1.9xPath:
XPath路径表达式
XPath使用路径表达式来选取XML文档中的节点或者节点集,这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似。
XPth节点:
在XPath中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档(根)节点。XML文档是被作为节点树来对待的,树的根被称为文档节点或者根节点。
SAX提供一种用于解析XML文档的事件驱动模型,在识别不同的XML语法结构时SAX解析器使用回调机制来通知客户端应用程序
java 解析标记语言_Java XML可扩展标记语言(eXtensible Markup Language)相关推荐
- XML (可扩展标记语言)
XML (可扩展标记语言) 一. 标记语言 标记语言,是一种将文本(txt)以及文本相关的其他信息结合起来,展现出关于文档结构和数据处理细节的电脑文字编码. 当今广泛使用的标记语言是超文本标记语言(H ...
- 软件交流培训:Extensible Markup Language 可扩展标记语言
概念:Extensible Markup Language 可扩展标记语言 xml是可扩展的,通过自定义标签. 用于存储数据,主要是存储配置,在网络中传输. xml的标签都是自定义的,html的标签都 ...
- Java解析接口返回的xml数据
Java解析接口返回的xml数据 前言 实例 前言 前一段时间,博主在工作遇到了一个小问题,就是调用一个接口后,它的返回值并不是常见的JSON字符串格式,而是返回给你一个xml格式的数据,所有的 ...
- java 解析word模板为xml, 动态填充数据到xml,最后输出word文档
java 解析word模板为xml, 动态填充数据到xml,最后输出word文档 在项目中, 一开始是使用java Apache poi 根据word模板生成word报表, 后面发现框架有个低版本的p ...
- XML(EXtensible Markup Language)
XML 指可扩展标记语言(EXtensible Markup Language) XML是用来存储数据, 传输数据的,不是用来显示数据的,而显示数据是用HTML XML 是 W3C 的推荐标准 W3C ...
- java 解析3层xml_java xml 解析方式汇总#高级程序员必备技能#
1.xml背景 格式良好的(web-fromed)xml可以不需要文档类型定义(DTD),只要满足基本的xml格式规范就可以认为是格式良好的xml文档.但是格式标准,只能说明元素.标签.格式是合法的, ...
- java解析网页全过程_Java网页解析
介绍 今天给大家推荐一款最好的网页解析类库-HtmlCleaner.至少是目前为止最好的Java解析库. 与HtmlCleaner结缘是在年初的时候,因为一项工作需要解析Html页面,所以我在网上遍寻 ...
- java解析json数据_java解析JSON数据详解
JSON是目前最流行的轻量级数据交换语言(没有之一).尽管他是javaScript的一个子集.但由于其是独立与语言的文本格式,它几乎可以被所有编程语言所支持. 以下是对java语言中解析json数据的 ...
- XML基础——extensible markup language
一.xml概念 1.xml和html区别 其中,xml是纯文本文件,跨语言:浏览器有html解析器也有xml解析器: 2.和properties配置文件区别 二.xml语法 1.基本语法 三.xml组 ...
最新文章
- 获取表中的某个字段名
- 最好的电脑系统_热键被占用怎么办?电脑系统 程序 游戏热键被占用冲突如何解决?...
- Docker中使用Dockerfile定制化jar启动时:at sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1264)
- iphone相册怎么加密_iOS限免推荐|视频滤镜和转场、专属加密应用、照片动画等共 5 款...
- php里的%是什么意思,大家帮小弟我看下这段代码中的“%”是什么意思
- JavaScript GetAbsoultURl
- 为了让盲人也能追剧,优酷做了哪些努力?
- android 转场动画兼容问题,【Android】关于ARouter转场动画的问题
- Asp.Net Core使用Log4Net优化日志【项目开源】
- AcWing进阶算法课Level-4 第六章 搜索 (模拟退火,爬山)
- 哪些人可以报考公务员 哪些人不能报考公务员
- 高等数学干吗要研究级数问题?
- 小D课堂 - 新版本微服务springcloud+Docker教程_4-05 微服务调用方式之feign 实战 订单调用商品服务...
- 两个PDF比较标出差异_怎样核对两份word文档内容差异?我用2小时,同事仅用2分钟搞定...
- Spring(一) 构建简单Web应用
- 【马仔创业感悟】什么是初创公司
- opencv 拍摄并保存照片
- 2.什么是机械设计?
- 为什么荒野行动服务器信息卡了,荒野行动画面卡顿的原因是什么?荒野行动画面卡顿的快速有效解决方法...
- freeswitch系列31注册流程
热门文章
- assets和res/raw的用法
- #地形剖面图_七年级上册微课 | 地图:地形剖面图与分层设色地形图
- pythonrsv分割_大数据经验
- 利用python语言实现分类算法_使用python实现kNN分类算法
- 安装thinkphp5后访问public index.php 报错require(/www/wwwroot/test3.com/public/../vendor/autoload.php)
- flex java 上传下载_完整的Flex多文件上传实例
- mysql meb安装_用meb搭建MySQL Master/Slave
- (三)用于构建AI语言翻译系统的工具
- rabbitmq中的消息有id吗_RabbitMQ 如何实现对同一个应用的多个节点进行广播
- nginx 伪静态php去掉后缀_Nginx与PHP是如何进行交互的?