XML回顾
xml加强
一、sax解析
1)原理: 读取xml的某个部分,解析一部分(读取一点,解析一点)
2)步骤:
SAXParserFactory factory = SAXParserFactory.newInstacne();
SAXParser sp = factory.newSAXParser()
XMLReader reader = sp.getXMLReader();
//绑定内容读取的监听器
reader.setContentHandler(ContentHandler接口的实现类);
reader.parse("xml文件路径");
ContentHandler接口方法:
startElement() 开始标签时调用
characters() 文本内容时调用
endElement() 结束标签时调用
二、dom4j的基本使用
和jaxp原理一样的 ,dom解析原理
1)读取xml文件
SAXReader reader = new SAXReader()
Document doc = reader.read("xml文件路径");
2) 写出xml文件
XMLWriter writer = new XMLWriter(new FileOutputStream("xml文件路径"));
writer.write(docuemnt);
方法:
查:
元素:
element("name"): 第一个子元素
elements() : 所有子元素,返回List
elements("name"): 指定名称的所有子元素
elementIterator(): 所有子元素,返回迭代器
属性:
Attribute attr = attribute("name"); 查询属性对象
getName() 属性名 getValue() 属性值
attributeValue(“name”) 查询属性值
文本:
getText() 文本内容
改:
属性值: Attribute.setValue("新的属性值");
文本值: element.setText("新的内容")
增:
元素:Element.addElement("name")
属性: Element.addAttribute("name","value");
文本: Element.addText("文本");
删:
元素: Element.detach();
属性: Atrribute.detach();
三、xpath的基本使用
作用: 方便查找xml的元素
方法:
多个节点:selectNodes("xpath表达式");
一个节点: selectSingleNode("xpath表达式");
xpath表达式语法参考文档学习和使用
四、scheme约束
1)简介:scheme约束语法比较复杂,功能比较强大,逐步替代dtd
2)名称空间:用于在xml文件中导入(一个或多个)schema约束文件
四个步骤可以导入schema文件
<itcast:书架 xmlns:itcast="http://www.itcast.cn"
xmlns:xis="http://xxxxxxxxxxx"
xsi:schemeLocation="http://www.itcast.cn scheme文件的路径"
>
结果: 书架标签受到了scheme文件的约束
scheme约束语法参数w3c文档学习和使用
---------------------------------------------------------------------------------
作业:改造成绩管理系统
开闭原则:对扩展(添加)开放的,对修改是关闭的。在软件开发过程中应该尽量遵守开闭原则 。
XML回顾的更多相关文章
- Java实现XML和JavaBean互转 - XStream
1.简介 XStream是一个序列化JavaBean为XML文件以及反序列化的工具. 2.准备 2.1.XML回顾 在学习这部分内容前,假设你对XML以及有一定的了解,至少能够分辨出XML的元素.属性 ...
- python---基础知识回顾(四)(模块sys,os,random,hashlib,re,序列化json和pickle,xml,shutil,configparser,logging,datetime和time,其他)
前提:dir,__all__,help,__doc__,__file__ dir:可以用来查看模块中的所有特性(函数,类,变量等) >>> import copy >>& ...
- Ant build.xml 批量打渠道包回顾!打第三方jar包总结
配置: eclipse3.9 + ADT22 + sdk 4.0 eclipse带自动混淆的,不过只有在我们手动创建包的时候,才去打签名,去混淆! 开启混淆这样做吧! 必备文件3个: 当然进行ant打 ...
- Spring4学习回顾之路03—XML配置Bean ,依赖注入的方式
配置Bean的形式可以基于XML文件的方式,也可以基于注解的方式,而Bean的配置方式可以通过全类名(反射),通过工厂方式和FactoryBean. XML形式 <?xml version=&q ...
- WebApi接口 - 响应输出xml和json
格式化数据这东西,主要看需要的运用场景,今天和大家分享的是webapi格式化数据,这里面的例子主要是输出json和xml的格式数据,测试用例很接近实际常用情况:希望大家喜欢,也希望各位多多扫码支持和点 ...
- [C#] C# 知识回顾 - 序列化
C# 知识回顾 - 序列化 [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902005.html 目录 序列化的含义 通过序列化保存对象数据 众 ...
- [C#] C# 知识回顾 - 特性 Attribute
C# 知识回顾 - 特性 Attribute [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5911289.html 目录 特性简介 使用特性 特性 ...
- 【Java EE 学习 54】【OA项目第一天】【SSH事务管理不能回滚问题解决】【struts2流程回顾】
一.SSH整合之后事务问题和总结 1.引入问题:DAO层测试 假设将User对象设置为懒加载模式,在dao层使用load方法. 注意,注释不要放开. 使用如下的代码块进行测试: 会报错:no sess ...
- Linq to Xml读取复杂xml(带命名空间)
前言:xml的操作方式有多种,但要论使用频繁程度,博主用得最多的还是Linq to xml的方式,觉得它使用起来很方便,就用那么几个方法就能完成简单xml的读写.之前做的一个项目有一个很变态的需求:C ...
随机推荐
- 简析TCP的三次握手与四次分手【转】
转自 简析TCP的三次握手与四次分手 | 果冻想http://www.jellythink.com/archives/705 TCP是什么? 具体的关于TCP是什么,我不打算详细的说了:当你看到这篇文 ...
- C#用Zlib压缩或解压缩字节数组
/// <summary> /// 复制流 /// </summary> /// <param name="input">原始流</par ...
- Android自动测试之Monkey工具
Monkey工具 前言: 最 近开始研究Android自动化测试方法,对其中的一些工具.方法和框架做了一些简单的整理,其中包括android测试框架.CTS.Monkey. Monkeyrunner. ...
- ios隐藏键盘的方式简单应用
iOS开发中经常要用到输入框,默认情况下点击输入框就会弹出键盘,但是必须要实现输入框return的委托方法才能取消键盘的显示,对于用户体验来说很不友好,我们可以实现点击键盘以外的空白区域来将键盘隐藏, ...
- mysql主从复制的配置总结
首先确定安装配置的环境 centOS7,mysql5.6 在配置之前要保证的几个点 1.系统防火墙,如果只是测试,可以关闭防火墙,如果不是测试,请开发需要使用的端口号,如3306: 开放端口 fire ...
- HDU1236:排名
Problem Description 今天的上机考试虽然有实时的Ranklist,但上面的排名只是根据完成的题数排序,没有考虑 每题的分值,所以并不是最后的排名.给定录取分数线,请你写程序找出最后 ...
- divide an integer into X parts (as even as possible)
the algorithm is like this: it evenly spreads an integer N over K cells. for i = 0 to K array[i] = N ...
- MVC 项目中又一新方法实现依懒注入 (AutoFac)
详情请查看:http://docs.autofac.org/en/latest/integration/mvc.html#quick-start
- php5.6之后的版本使用curl以@+文件名的方式上传文件无效的解决版本
使用curl上传文件使用file=@文件路径的方式,在php5.6以后的版本中无法使用了 官方文档给出明确解释 如果需要支持的话,可以将CURLOPT_SAFE_UPLOAD设置为false 或者使用 ...
- centos 6.5常见lib库安装
在CentOS安装软件的时候,可能缺少一部分支持库,而报错.这里首先安装系统常用的支持库.那么在安装的时候就会减少很多的错误的出现. # yum install -y gcc gdb strace g ...