Day033 XML
XML
1、XML简介
(1)XML,可扩展标记语言
(2)特点:XML与操作系统、编程语言的开发平台无关
(3)作用:
① 数据交互
② 配置应用程序和网站
③ Ajax基石
2、XML文档结构
3、XML标签
XML文档内容由一系列标签元素组成
① 属性值用双引号包裹
② 一个元素可以有多个属性
③ 属性值不能直接包含<、"、&
④ 不建议使用的字符:‘、>
4、XML编写注意事项
所有XML元素都必须有结束标签
XML标签对大小写敏感
XML必须正确的嵌套
同级标签以缩进对齐
元素名称可以包含字母、数字或其他的字符
元素名称不能以数字或者标点符号开始
元素名称中不能含空格
5、属性命名空间
除非带有前缀,否则属性属于所属的元素的命名空间
6、XML解析器
解析器类型
非验证解析器
检查文档格式是否良好
验证解析器
使用DTD检查文档的有效性
7、XML命名空间
作用
解决在复杂、大型XML文件中,出现名称相同,但是含义不同的元素
8、解析XML技术
(1)DOM
基于XML文档树结构的解析
适用于多次访问的XML文档
特点:比较消耗资源
(2)SAX
基于事件的解析
适用于大数据量的XML文档
特点:占用资源少,内存消耗小
(3)DOM4J
非常优秀的Java XML API
性能优异、功能强大
开放源代码
9、DOM解析XML
DOM介绍
文档对象模型(Document Object Model)
DOM把XML文档映射成一个倒挂的树
10、常用接口介绍
DOM解析包:org.w3c.dom
11、修改/删除DOM节点
给所有的Brand标签添加id属性
获取Brand标签
调用setAttribute()方法添加属性
删除Brand值为“华为”的标签
getElementsByTagName()方法获取Brand标签列表
获得Brand值为“华为”的标签对象
通过getParentNode()方法获得父节点对象
调用父节点的removeChild()方法删除节点
Day033 XML相关推荐
- SQLServer2014导入.bak数据库文件步骤
SQLServer2014导入.bak数据库文件步骤 1.首先新建一个数据库,注意数据库名要和你需要导入的数据库名称一样 例子:我把 服务器上的 名称为 lyioc 的数据库导出来命名为 ly.bak ...
- 利用dom4j将实体类转换为对应的xml报文
利用dom4j生成xml报文 目标格式: <?xml version="1.0" encoding="GBK"?><Packet type=& ...
- mybatis的资源过滤错误及xml文件编码错误
mybatis 解决maven项目内资源过滤的问题 写的配置文件无法被导出或者生效的问题. 解决方案: <build><resources><resource>&l ...
- 【spring】spring基于xml的声明式事务控制
结构 domain package com.itheima.domain;import java.io.Serializable;public class Account implements Ser ...
- 【Spring】基于xml实现事务控制(银行转账)
代码结构 domain类 package com.itheima.domain;import java.io.Serializable;/*** 账户的实体类*/ public class Accou ...
- 【Spring】基于XML的IOC案例
代码结构: bean.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=&quo ...
- Python 标准库之 xml.etree.ElementTree xml解析
Python 标准库之 xml.etree.ElementTree Python中有多种xml处理API,常用的有xml.dom.*模块.xml.sax.*模块.xml.parser.expat模块和 ...
- python读取xml文件报错ValueError: multi-byte encodings are not supported
1.在使用python对xml文件进行读取时,提示ValueError: multi-byte encodings are not supported 很多贴子上说把xml的编码格式改为,就可以正常执 ...
- MyBatis——XML配置解析
目录 1. 环境配置(environments) 2. 属性(properties) 3. 类型别名(typeAliases) 方式一:通过typeAlias起别名 方式二:通过package起别名 ...
最新文章
- jsp网站访问次数统计
- (原創) 如何讓Linux開機時,不要在圖形介面顯示開機訊息? (OS) (Linux) (CentOS)
- abap--关于sap地址,传真,邮箱的地址读取
- VTK:颜色断开区域用法实战
- asp.core api 通过socket和服务器通信发送udp_读懂Java中的Socket编程
- Could NOT find LibXml2 (missing: LIBXML2_LIBRARY LIBXML2_INCLUDE_DIR)Call Stack
- [JZOJ3296] 【SDOI2013】刺客信条
- 使用流量分析系统进行资产梳理
- 自定义tensorflow的tf.image.resize_bicubic方法
- webrtc源码分析 nack详解
- 王者战力接口(免费),附接口文档+小程序源码
- char[]和char* 输出长度不同
- !和!!的区别和用法
- 人工智能:确定性推理
- 笔记本新增一块1T固态,如何将系统迁移到新的固态,无缝对接(无需重装系统,迁移后直接用)。
- UOS 在桌面创建网页快捷方式
- 一个顶级IT咨询师的对话
- 中文自然语言预处理总结
- Unity 获得Animator下某个动画片段的时长
- 【CSS】线性渐变属性值及范例详解
热门文章
- Redash学习笔记
- 深度学习框架对应的CUDA版本
- ...device found for this connection (device lo not available because device is strictly unmanaged).
- 小米手机安装fidder证书
- 数据分析常用的16种方法
- java导入csv分隔符_基于Java的CSV格式文件处理(excel逗号分隔符文件) | 学步园...
- 最长上升子序列练习总结
- 散热孔,PCB设计中的重要散热方法,你掌握了吗?
- 微信域名如何防封?微信域名被封了怎么办?微信域名被封能够恢复吗?
- ubuntu 查看group分组