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 教程快速入门 资源下载: ...
随机推荐
- android分析之智能指针
智能指针是一个包装类,该类有一个指针指向真正的类对象 引用计数型智能指针,该引用计数是在应该被真正类所持有,而非包装类(智能指针) 为了方便,会将引用计数单独实现在一个类中,这样所有继承它的类都有计数 ...
- Java中的Set集合
Set接口简介 Set接口和List接口一样,同样继承自Collection接口,它与Collection接口中的方法基本一致,并没有对Collection接口进行功能上的扩充,它是比Collecti ...
- 你真的懂 i++ 和 ++i 吗?
对于 ++i 和 i++,许多人可能都知道,不就是先加1再取值,和先取值再加1嘛.然而,真的是这样吗?请先看以下4道题,能全部答对可以忽略这篇文章. 题目 // 示例1 int i = 1; i = ...
- 亲自动手实现Python+pygame中国象棋游戏
功能1:实现游戏整体界面显示 一.创建基本的结构 代码如下: import time import pygame def main(): # 初始化pygame pygame.init() # 创建用 ...
- Java中的面向切面编程(AOP)
一.什么是AOP? Aspect Oriented Programming ,即面向切面编程. AOP是对面向对象编程的一个补充. 它的目的是将复杂的需求分解为不同的切面,将散布在系统中的公共功能集中 ...
- PAT (Basic Level) Practice (中文)1070 结绳 (25 分) 凌宸1642
PAT (Basic Level) Practice (中文)1070 结绳 (25 分) 凌宸1642 题目描述 给定一段一段的绳子,你需要把它们串成一条绳.每次串连的时候,是把两段绳子对折,再如下 ...
- [Fundamental of Power Electronics]-PART II-7. 交流等效电路建模-7.4 规范电路模型
7.4 规范电路模型 在讨论了推导开关变换器交流等效电路模型的几种方法后,让我们先停下来,说明下这些结果.所有的在 CCM下以PWM工作的DC-DC变换器都具有相似的基本功能.首先,他们在理想情况下, ...
- badusb论述
"BadUSB"是2014年计算机安全领域的热门话题之一,该漏洞由Karsten Nohl和Jakob Lell共同发现 攻击原理 TEENSY 攻击者在定制攻击设备时,会向USB ...
- day-6 xctf-hello_pwn
xctf-hello_pwn 题目传送门:https://adworld.xctf.org.cn/task/answer?type=pwn&number=2&grade=0&i ...
- Go+gRPC-Gateway(V2) 微服务实战,小程序登录鉴权服务(六):客户端基础库 TS 实战
小程序登录鉴权服务,客户端底层 SDK,登录鉴权.业务请求.鉴权重试模块 Typescript 实战. 系列 云原生 API 网关,gRPC-Gateway V2 初探 Go + gRPC-Gatew ...