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回顾的更多相关文章

  1. Java实现XML和JavaBean互转 - XStream

    1.简介 XStream是一个序列化JavaBean为XML文件以及反序列化的工具. 2.准备 2.1.XML回顾 在学习这部分内容前,假设你对XML以及有一定的了解,至少能够分辨出XML的元素.属性 ...

  2. python---基础知识回顾(四)(模块sys,os,random,hashlib,re,序列化json和pickle,xml,shutil,configparser,logging,datetime和time,其他)

    前提:dir,__all__,help,__doc__,__file__ dir:可以用来查看模块中的所有特性(函数,类,变量等) >>> import copy >>& ...

  3. Ant build.xml 批量打渠道包回顾!打第三方jar包总结

    配置: eclipse3.9 + ADT22 + sdk 4.0 eclipse带自动混淆的,不过只有在我们手动创建包的时候,才去打签名,去混淆! 开启混淆这样做吧! 必备文件3个: 当然进行ant打 ...

  4. Spring4学习回顾之路03—XML配置Bean ,依赖注入的方式

    配置Bean的形式可以基于XML文件的方式,也可以基于注解的方式,而Bean的配置方式可以通过全类名(反射),通过工厂方式和FactoryBean. XML形式 <?xml version=&q ...

  5. WebApi接口 - 响应输出xml和json

    格式化数据这东西,主要看需要的运用场景,今天和大家分享的是webapi格式化数据,这里面的例子主要是输出json和xml的格式数据,测试用例很接近实际常用情况:希望大家喜欢,也希望各位多多扫码支持和点 ...

  6. [C#] C# 知识回顾 - 序列化

    C# 知识回顾 -  序列化 [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902005.html 目录 序列化的含义 通过序列化保存对象数据 众 ...

  7. [C#] C# 知识回顾 - 特性 Attribute

    C# 知识回顾 - 特性 Attribute [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5911289.html 目录 特性简介 使用特性 特性 ...

  8. 【Java EE 学习 54】【OA项目第一天】【SSH事务管理不能回滚问题解决】【struts2流程回顾】

    一.SSH整合之后事务问题和总结 1.引入问题:DAO层测试 假设将User对象设置为懒加载模式,在dao层使用load方法. 注意,注释不要放开. 使用如下的代码块进行测试: 会报错:no sess ...

  9. Linq to Xml读取复杂xml(带命名空间)

    前言:xml的操作方式有多种,但要论使用频繁程度,博主用得最多的还是Linq to xml的方式,觉得它使用起来很方便,就用那么几个方法就能完成简单xml的读写.之前做的一个项目有一个很变态的需求:C ...

随机推荐

  1. OSI参考模型各层的主要功能

    OSI参考模型将整个通信功能划分为7个层次,其划分的主要原则是: 1网络中各主机有相同的层次 2 不同主机的同等层具有相同的功能 3同一主机内相邻层之间通过接口通信 4 每层可以使用下层提供的服务,并 ...

  2. JavaScript 事件 事件流 事件对象 事件处理程序 回调函数 error和try...catch和throw

    参考资料: 慕课网 DOM事件探秘    js事件对象 处理 事件驱动: JS是采用事件驱动的机制来响应用户操作的,也就是说当用户对某个html元素进行操作的时候,会产生一个时间,该时间会驱动某些函数 ...

  3. Ubuntu cron定时执行任务

    1.添加自定义事件 crontab -e 2.选定编辑器 3.添加执行代码 * * * * /usr/bin/curl http://www.exmple.com/cron.php crontab 命 ...

  4. WIN2003 设置 OPENVPN 服务端

    服务器端 安装openvpn 在这里http://swupdate.openvpn.org/community/releases/openvpn-install-2.3.4-I004-i686.exe ...

  5. Mysql 本地计算机无法启动 mysql 服务 错误 1067:进程意外终

    1.重装后启动mysql服务,提示 本地计算机无法启动 mysql 服务 错误 1067:进程意外终止. 2.查看mysql根目录下有一 计算机名.err 打开一看全是英文的错误提示: 3.根据其中的 ...

  6. webapp 微信开发适配问题

    文章摘自:http://www.cnblogs.com/oksite/p/4630462.html 前段时间由于公司要做微信app 前端主要有我一个人独立开发 分享一下自己独立开发微信app的一些经验 ...

  7. json格式数据,将数据库中查询的结果转换为json, 然后调用接口的方式返回json(方式一)

    调用接口,无非也就是打开链接 读取流 将结果以流的形式输出 将查询结果以json返回,无非就是将查询到的结果转换成jsonObject ================================ ...

  8. 在C#中使用反射调用internal的方法

    MSDN上解释Internal如下: The internal keyword is an access modifier for types and type members. Internal t ...

  9. LeetCode OJ 26. Remove Duplicates from Sorted Array

    Given a sorted array, remove the duplicates in place such that each element appear only once and ret ...

  10. ecshop 去版权(前台)

    该偏文章模板堂搜集总结,包括ecshop前台版权,ecshop后台版权,一个都不留,干干净净,推荐收藏 一.去掉网页标题 Powered by ECShop 打开includes/lib_main.p ...