关于XML的一些事
XML:可扩展标记语言!
01.很像HTML
02.着重点是数据的保存
03.无需预编译
04.符合W3C标准
可扩展:我们可以自定义,完全按照自己的规划来!
标记:计算机所能认识的信息符号!
比如: int num = 5; 教材编号
XML的组成部分:
01.文档声明 <?xml version="1.0" encoding="UTF-8">
02.元素 <p></p>
03.属性 <p id="haha"></p>
04.注释 <!-- -->
05.特殊字符
06.CDATA区域 Character data 字符数据
07.处理指令 引入css样式
<school>
<grade name="一班">
<student name="A"></student>
</grade>
</school>
注意点:
01.xml文件中只能有一个根节点
02.节点要成对出现 有开发和闭合
03.节点必须正确的嵌套!!!
比如不能出现以下格式代码:(嵌套格式不对!!!)
<学校>
<班级 名称="一班">
<学生 姓名="A">
</班级>
</学生>
</学校>
04.严格区分大小写
05.空格和换行都是特殊字符 会被解析器解析
XML,HTML都是一个类似于倒挂的树!
只有一个根节点,枝叶茂盛!
我们把这个倒挂的数称之为===》dom数!
DOM:(Doucument Object Model)文档对象模型
特殊字符:
> >
< <
& &
' '
" "
CDAT区域:XML解析器不会处理,而是当成字符串原样输出!
<![CDATA[xml内容]]>
解析xml文件的方式:
01.DOM:基于xml文档树结构的解析,把xml文件中的内容读取到内存中,比较占内存,消耗资源多!
02.SAX:基于事件的解析。消耗资源小!
03.JDOM:针对于Java的特定模型!满足2 8原则!自身没有解析器,依赖于SAX2!
04.DOM4J:for(4)JDOM的一个分支!源码开放,性能优异,功能强大!
创建第一个maven项目:
1.new project===>maven==>quick==>archetypeCatalog=internal
2.引入需要的pom节点
3.自定义一个xml文件 (学校 年级 班级)
4.需求通过dom4j实现查询学校下面的年级以及班级信息
5.创建一个测试类 书写代码
DTD:Document Type Definition(文檔類型定義)
01.规范我们的编码
02.在浏览器中正常的显示
<!ELEMENT school (grade+),(class|student)>
ELEMENT :元素,关键字
school:元素名称
grade:子元素或者元素类型 CDATA PCDATA (Parse)解析数据,不能包含子元素
():用来给元素分组
| :两者必须选择一个
+ : 1-N,至少出现一次
* : 0-N,可有可无,并且可以多次
?: 0|1,最多一次
,:元素出现的顺序
DTD文档使用方式:
01.内部DTD
<!DOCTYPE 根元素[定义的内容]>
02.外部DTD
<!DOCTYPE 根元素 SYSTEM "dtd文件位置">
03.内外部DTD
<!DOCTYPE 根元素 SYSTEM "dtd文件位置"[定义的内容]>
关于XML的一些事的更多相关文章
- XLT格式化XML那点事(C#代码中的问题解决)(二)
接上篇<XML通过XSL格式化的那点事(XML到自定义节点折叠显示)>,本文就如何将大的XLST分割成小文件和如何用C#将XML通过XSL生成HTML文件中的问题做下分析,避免有同样需求的 ...
- XML的一些事
XML文件的优缺点: 使用XML作为传输格式的优势: 1. 格式统一, 符合标准 2. 容易与其他系统进行远程交互, 数据共享比较方便 3.调用将 XML 用作传输的现有服务. 4.使用 XSLT 可 ...
- XML通过XSL格式化的那点事(XML到自定义节点折叠显示)
引言 有时我们想看下系统生成的XML文件(如XML格式的Project文件),如果文件结构简单,我们浏览器看起来还比较方便,但是随着XML schema复杂后就变得让人头疼啦,单独写一个程序去做展现又 ...
- 两年来的core折腾之路几点总结,附上nginx启用http2拿来即用的配置
序:一年多没更新博客园的内容了,core已经发生了翻天覆地的变化,想起2014年这时候,我就开始了从当时还叫k的那套preview都不如的vnext搭建这套系统,陆陆续续它每一次升级,我也相应地折腾, ...
- SSM-MyBatis-04:Mybatis中使用properties整合jdbc.properties
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥-------------properties整合jdbc.properties首先准备好jdbc.properties,里面的key值写 ...
- redis数据结构和常用命令
redis常用数据结构 String 最简单的K_V,value可以是数字或者字符串,使用场景:微博数.普通计数,命令:get set incr(加1) decr(减1) mget(获取多个值),se ...
- SpringMVC静态资源拦截的问题
通常在web.xml中的核心控制器的DispatcherServlet中的url-pattern属性配置成类似“/”的拦截路径,但是会出现静态资源找不到的问题,比如js脚本.图片.css等无法加载,那 ...
- 不可不知的 Android strings.xml 那些事
相信 strings.xml 已经是大家在 Android 开发中最熟悉的文件之一了,但其实它也有很多需要注意的地方和一些小技巧,知道了这些可以让你的 Android 应用更加规范易用,大家来看看吧. ...
- java web开发中的奇葩事web.xml中context-param中的注释
同事提交了代码.结果除同事之外,其他人全部编译报错.报错说web.xml中配置的一个bean 没有定义.按照报错提示,各种找,无果. 由于代码全部都是提交到svn主干,之前也没有做过备份,只能一步一步 ...
随机推荐
- 文件操作:fread()和fwrite()
fread和fwrite函数功能 用来读写一个数据块. 一般调用形式 fread(buffer,size,count,fp); fwrite(buffer,size,cou ...
- 【BZOJ2409】 地下车会
Description 小Y喜欢速度与激情,于是他参加了地下车会. 地下车会设有N 个分赛区,M种赛事.每个分赛区有C[i]场比赛.由于地下车会经营者想要赚到更多的钱,规定小 Y 必须参加某一些赛区 ...
- Linux vi/vim and linux yum 命令
Linux vi/vim 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器. vim 具有程序编辑的能力,可以主 ...
- 基于 Golang 完整获取百度地图POI数据的方案
百度地图为web开发者提供了基于HTTP/HTTPS协议的丰富接口,其中包括地点检索服务,web开发者通过此接口可以检索区域内的POI数据.百度地图处于数据保护对接口做了限制,每次访问服务,最多只能检 ...
- ppt制作的相关技巧
一.好的ppt需要达到的目标是: 用情感打动你,用逻辑说服你 二.好主题,写在封面上 主标题带来冲击力,副标题提供描述性细节 如何打造好标题: (1)用数字给标题添彩 (2)想畅销书学标题 (3)向流 ...
- ubuntu下安装apatch
在Ubuntu上安装Apache,有两种方式:1 使用开发包的打包服务,例如使用apt-get命令:2 从源码构建Apache.本文章将详细描述这两种不同的安装方式. 方法一:使用开发包的打包服务—— ...
- metrics+spring+influxdb
https://www.cnblogs.com/lixyu/p/9337055.html
- VLC for Android编译
编译环境是ubuntu 64bit 全程参考https://wiki.videolan.org/AndroidCompile/ 一:环境准备 1.安装系统 尽量使用最新的ubuntu系统 可以省去很多 ...
- 基于DRF的图书增删改查练习
功能演示 信息展示 添加功能 编辑功能 删除功能 DRF构建后台数据 本例的Model如下 from django.db import models class Publish(models.Mode ...
- redis--迁库操作
如果碰到redis库要迁移(之前的redis用作他用)或者备份用,就需要操作redis迁移 import redis def qianyi(k=None,v=None,name=None): r1 = ...