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 教程快速入门 资源下载: ...
随机推荐
- 《进击吧!Blazor!》系列入门教程 第一章 7.图表
<进击吧!Blazor!>是本人与张善友老师合作的Blazor零基础入门教程视频,此教程能让一个从未接触过Blazor的程序员掌握开发Blazor应用的能力. 视频地址:https://s ...
- (数据科学学习手札112)Python+Dash快速web应用开发——表单控件篇(上)
本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 这是我的系列教程Python+Dash快速web ...
- P2424 约数和 【整除分块】
一.题目 P2424 约数和 二.分析 因为都是加法,那么肯定有的一个性质,即前缀和的思想,就是$$ { ans =\sum_{i=1}^y f(i)} - {\sum_{i=1}^x f(i)} ...
- 《数据持久化与鸿蒙的分布式数据管理能力》直播课答疑和PPT分享
问:hi3861开发板支持分布式数据库吗? 目前,分布式数据库仅支持Java接口,因此Hi3861没有现成的API用于操作分布式数据库. 问:分布式数据管理包括搜索吗? 分布式数据管理包括融合搜索能力 ...
- 这个Bug的排查之路,真的太有趣了。
这是why哥的第 92 篇原创文章 在<深入理解Java虚拟机>一书中有这样一段代码: public class VolatileTest { public static volat ...
- SDK音频测试流程
概述 在上篇文章中,给小伙伴们讲述了sdk模板在渲染中的流程,我们简单来回顾一下,主要讲述了数据创建.素材替换.音频.文字等四部分,在上次讲述中也因为时间于原因没有特别仔细的去讲述他们.上次我们说到最 ...
- 创建ortools的Dockerfile
技术背景 基于已有的Docker容器镜像,去创建一个本地的镜像,有两种方法:一种是在之前的博客中提到过的,使用docker commit的方案,也就是先进去基础系统镜像内部完成所需的修改,然后comm ...
- 【JVM进阶之路】七:垃圾收集器盘点
在前面,我们已经了解了JVM的分代收集,知道JVM垃圾收集在新生代主要采用标记-复制算法,在老年代主要采用标记-清除和标记-整理算法.接下来,我们看一看JDK默认虚拟机HotSpot的一些垃圾收集器的 ...
- 前端使用bcrypt对密码加密,服务器对密码进行校验
以前为了防止前端密码安全问题,都是对密码进行md5(password + salt). 有些也会用别的加密方式,但还是会存在撞库,彩虹表等破解常规密码. 因此使用bcrypt加密是一个不错的选择,因为 ...
- PAT (Advanced Level) Practice 1006 Sign In and Sign Out (25 分) 凌宸1642
PAT (Advanced Level) Practice 1006 Sign In and Sign Out (25 分) 凌宸1642 题目描述: At the beginning of ever ...