Schema的快速入门
Schema的快速入门
如果是简单元素直接 <element name=”” type=””></element>
Schema开发过程:
Sax 解的析原理
解析xml有两种技术 dom 和sax
4使用jaxp的sax方式解析xml
**Sax方法不能实现增删改查,只能做查询操作
**打印出整个文档
**执行parse方法,第一个参数xml路径,第二个参数 是事件处理器
**创建一个类,继承事件处理器的类
**重写里面的三个方法
*获取到所有name元素的值
/* * 1创建一个解析器工厂 * 2创建解析器 * 3执行 parse方法 * * 4自己创建一个类,继承DefaultHandler * 5重写里面的三个方法 */ //获取所有name class Mydefault2 extends DefaultHandler{ boolean flag = false; int idx = 1; @Override public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { //判断qName是不是name元素 if("name".equals(qName)){ flag = true; } } @Override public void characters(char[] ch, int start, int length) throws SAXException { //当flasg为true的时候,表示解析name元素 //索引值是1 if(flag == true && idx == 1){ System.out.println(new String(ch,start,length)); } } @Override public void endElement(String uri, String localName, String qName) throws SAXException { //把flag设置为false,表示name元素结束 if("name".equals(qName)){ flag = false; idx++; } } }
5使用dom4j解析xml
*dom4j 是一个组织,针对xml解析,提供解析器dom4j
*不是javase 的一部分, 想要使用第一步怎么使用?
**导入dom4j提供的
6 使用dom4j查询xml’
查询所有name元素里面的值
1创建解析器
2得到一个·document
3得到根节点 getRootElement()
4得到所有的p1标签
*element(qname)
**获取标签下第一个子标签
**qname 标签名称
*elements(qname)
**获取标签面是这个名称所有子标签(一层)
**qname 标签名称
*elements()
**获取标签下面的所有子标签
5得到name
6得到name里面的值
7使用dom4j添加节点
8特定位置添加节点
//特定位置添加元素 public static void addAgeBefore() throws Exception{ //1创建解析器 // SAXReader saxReader = new SAXReader(); //2得到document // Document document = saxReader.read(Dom4jUtils.PATH); Document document = Dom4jUtils.getDocument(Dom4jUtils.PATH); //3得到根节点 Element root = document.getRootElement(); //4获取第一个p1 Element p1 = root.element("p1"); //5获取p1下面所有的元素 /* * element()方法 返回list集合 * 使用list方法 ,在指定位置添加元素 * *** add(int index,E element) * -第一个参数是 位置下标 ,从0开始 * -第二个参数是 要添加的元素 *6回写xml */ //5 List<Element> list = p1.elements(); //创建元素使用 Element school = DocumentHelper.createElement("school"); //在school下面创建文本 school.setText("ecit"); //特定位置添加 list.add(1, school); //回写 Dom4jUtils.xmlWriters(Dom4jUtils.PATH, document); }
9修改
10删除
11获取属性
12使用dom4j支持xpath的操作
Schema的快速入门的更多相关文章
- spring快速入门(三)
一.在spring快速入门(二)的基础上,原先我们是采用构造方法完成对象的注入.这里还有其他的方法可以完成注入,通过set方法来完成. 修改UserActionImpl package com.mur ...
- spring快速入门(二)
一.在spring快速入门(一)的基础上,我们来了解spring是如何解决对象的创建以及对象之间的依赖关系的问题 (比如client中依赖UserAction的具体实现,UserActionImpl中 ...
- OpenStack云计算快速入门之二:OpenStack安装与配置
原文:http://blog.chinaunix.net/uid-22414998-id-3265685.html OpenStack云计算----快速入门(2) 该教程基于Ubuntu12.04版, ...
- 快速入门系列--WebAPI--01基础
ASP.NET MVC和WebAPI已经是.NET Web部分的主流,刚开始时两个公用同一个管道,之后为了更加的轻量化(WebAPI是对WCF Restful的轻量化),WebAPI使用了新的管道,因 ...
- Toad快速入门
Toad快速入门 在实际中,Toad的用户很少用到其强大的新特性,同时新用户的摸索式熟悉Toad往往花费更多的时间.为此,铸锐数码为每个新购买Toad客户,提供两人次的在线培训服务,帮助客 ...
- SpringMvc_快速入门,深入分析
目录 一.前言二.spring mvc 核心类与接口三.spring mvc 核心流程图 四.spring mvc DispatcherServlet说明 五.spring mvc 父子上下文的说明 ...
- Spring IoC反转控制的快速入门
* 下载Spring最新开发包 * 复制Spring开发jar包到工程 * 理解IoC反转控制和DI依赖注入 * 编写Spring核心配置文件 * 在程序中读取Spring配置文件,通过Spring框 ...
- 02_Spring控制反转案例快速入门
Spring控制反转案例快速入门 1.下载Spring最新开发包 http://www.springsource.org/download/community 下载spring3.2 的开发包 目录结 ...
- Spring MVC 教程,快速入门,深入分析
http://elf8848.iteye.com/blog/875830/ Spring MVC 教程,快速入门,深入分析 博客分类: SPRING Spring MVC 教程快速入门 资源下载: ...
随机推荐
- centos /bin /sbin /usr/bin /usr/sbin 目录的说明
在linux下我们经常用到的四个应用程序的目录是/bin./sbin./usr/bin./usr/sbin .而四者存放的文件一般如下: bin目录: bin为binary的简写主要放置一些系 ...
- MyBatis(八):MyBatis插件机制详解
MyBatis插件插件机制简介 MyBatis插件其实就是为使用者提供的自行拓展拦截器,主要是为了可以更好的满足业务需要. 在MyBatis中提供了四大核心组件对数据库进行处理,分别是Exec ...
- 安卓Media相关类测试demo
最近在研究安卓系统给app开发者提供的标准Media相关的工具类,本人做了一些demo来测试这些工具的使用方法. 本demo包含若干apk源码,需要说明以下几点: 1. 构建方式 Makefile使用 ...
- 2019 GDUT Rating Contest III : Problem D. Lemonade Line
题面: D. Lemonade Line Input file: standard input Output file: standard output Time limit: 1 second Memo ...
- java IO流文件拷贝文件(字符流标准写法)
public static void copyFile2(String path1, String path2) { Reader reader = null; Writer writer = nul ...
- 什么是IPFS集群?IPFS集群有什么好处?
IPFS作为区块链不多的创新技术,其热度一直居高不下.IPFS挖矿效率最高的就是集群结构,那么今天我就带着大家了解IPFS的集群挖矿. 什么是集群挖矿? 集群(cluster)就是计算机集群,指在 ...
- PTA 中序输出度为2的结点
6-10 中序输出度为2的结点 (10 分) 本题要求实现一个函数,按照中序遍历的顺序输出给定二叉树中度为2的结点. 函数接口定义: void InorderPrintNodes( BiTree ...
- go语言的初体验
分享最近学习 Go 语言的心得和体会,适合有编程基础的人,因为这里只做经验性的总结概述,不做基础教学的入门知识讲解,如果想要学习编程语言的基础知识,请出门左转进入官方文档,查看基础教学文档. Go 概 ...
- OO电梯系列优化分享
目录 前言 HW5 HW6 第二次作业uml协作图 HW7 第三次作业uml协作图 前言 本单元作业在优化方面确实有一些想法值得分享,故单开一篇博客分享一下三次作业的优化以及架构. 三次作业的共同之处 ...
- 树莓派WIFI
树莓派WIFI设置 在"开始使用树莓派"中,我们在boot根目录下创wpa_supplicant.conf文件,实现了第一次连接wifi.以后开机后,树莓派会自动连接那个wifi. ...