zoukankan      html  css  js  c++  java
  • java-XML使用

    XML文件
    一.XML用途:指可扩展标记语言(EXtensible Markup Language),是独立于软件和硬件的信息传输工具,应用于 web 开发的许多方面,常用于简化数据的存储和共享。
    二.在XML中,所有的处理指令都以<?开始,?>结束。<?后面紧跟的是处理指令的名称。encoding是指作者使用的字符编码格式。有UTF-8,GBK,gb2312等等。
    XML元素指的是从(且包括)开始标签直到(且包括)结束标签的部分。元素可包含其他元素、文本或者两者的混合物。元素也可以拥有属性。同时大小写也是敏感的。
    XML要求每个元素必须由起始标签和关闭标签组成。关闭标签与起始标签的名字相同,写法上多一个“/”。
    XML要求每个元素必须由起始标签和关闭标签组成。关闭标签与起始标签的名字相同,写法上多一个“/”。
    三.在java中使用DOM解析XML文档:(需要导入dom4j.jar包)
    读取XML流程:
    1.创建SAXreader。
    2.使用SAXreader读取要解析的XML文档并返回一个Docunent对象者一步是耗时耗资源的地方因为要先将xml文档全部读取完毕并存入到一个Docunent对象中。
    SAXReader提供了读取的相关方法:
    Document read(File file)解析指定file对象所表示的xml文件
    Document read(InPutStream is)从给定的字节流中读取xml文档数据并解析
    Document read(Reader reader)从给定的字符流中读取xml文档数据并解析上面最后两个方法类似java中高级流操作
    3.根据Docunent对象获取根元素。
    获取根元素:
    Document 提供了获取根元素的方法:
    Element getRootElement() Element的每一个实力用于表示xml文档中的一个元素(一对标签)
    Element表示一个xml文档中的一个元素(标签)
    它提供了获取该元素相关信息的方法:
    String getname() 获取当前元素的名字
    Element element(String name) 获取当前元素中指定名字的子元素
    list element()获取当前元素中的所有子元素
    list elements(String name) 获取当前元素中所有同名元素
    String getText() 获取当前元素中的文本(开始标签和结束标签中间的文本信息)
    Attribute attribute(String name) 获取当前元素中指定名字的属性
    4.按照xml文档的结构从根元素开始逐级获取子元素,已达到解析xml文档获取数据的目的。
    四.使用dom生成xml文档:(需要导入dom4j.jar包)
    生成XML流程:
    1.创建一个Document对象表示一个空白文档
    2.向Document中添加跟元素
    Document提供了添加根元素的方法:
    Element addElement(String name) 添加指定名字的根元素,并将其以Element的实例形式返回以便对根元素继续操作需要注意,该方法只能调用一次。
    3.按照xml文档的结构逐级添加子元素
    Element提供了向其添加相关信息的方法:
    1.Element addElement(String name) 向当前标签中添加给定名字的子标签
    2.Element addText(String text) 向当前标签中添加文本信息
    3.Element addAttribute(String name,String valie) 向当前标签中添加指定名字以及对应值的属性。
    4.创建XMLWriter对象
    5.将Document写出
    6.关闭XMLWriter
    五.XML路径表达式--(需要另外引入jaxen.jar包):
    1.路径表达式语法:
    斜杠(/)作为路径内部的分割符。
    同一个节点有绝对路径和相对路径两种写法:
    路径(absolute path)必须用"/"起首,后面紧跟根节点.
    相对路径(relative path)则是除了绝对路径以外的其他写法.
    "."表示当前节点。
    ".."表示当前节点的父节点
    nodename(节点名称):表示选择该节点的所有子节点
    "/":表示选择根节点
    "//":表示选择任意位置的某个节点
    "@": 表示选择某个属性
    2."谓语条件",就是对路径表达式的附加条件。所有的条件,都写在方括号"[]"中,表示对节点进行进一步的筛选.
    3.通配符:
    "*"表示匹配任何元素节点。
    "@*"表示匹配任何属性值。
    node()表示匹配任何类型的节点。
    4.Document提供了(需要引入jaxen.jar包):
    List selectNodes(Stirng xpath)按照字符串形式进行检索并返回一个集合。

    我是初学者,如有更新不好的,欢迎这位大神指出,谢谢大家!

    更多精彩以后更新,转载注明!

  • 相关阅读:
    MySQL查询所有库中表名
    MySQL统计数据库表大小
    Spring Cloud 自定义ConfigServer 解决敏感信息存储问题
    JQuery Ajax执行过程AOP拦截
    虚拟机下的centos断电(非正常关机)后mysql启动不了
    Ubuntu 13.10 如何修改背景色--豆沙绿
    CI框架CodeIgniter伪静态各种服务器设置
    MongoDB中MapReduce不同的写法,不同的结果
    分享个人预算系统源码(含说明文档)
    Java lambda 分组后多列求和
  • 原文地址:https://www.cnblogs.com/CaiNiao-TuFei/p/7487202.html
Copyright © 2011-2022 走看看