zoukankan      html  css  js  c++  java
  • xml

    XML
    XML用途:XML指的是可扩展的标记语言,是独立软件和硬件的信息传输工具。
    XML应用于web开发的许多方法,常用来简化数据的存储和共享。

    XML处理指令:检称PI
    处理指令用来指挥解析引擎如何解析XML文档
    <?xml version="1.0" encoding="UTF-8" ?>
    在XML中,全部的指令都是以<?开始 ?>结束,
    <? 后面紧跟的是处理指令名称,XML处理指令要求指定一个version属性,
    并允许指定可选的standalone和encoding,其中standalone是否使用外部声明,
    可取yes和no,yes表示不使用外部声明,no表示使用外部声明。encoding是指
    使用的字符编码格式,如:utf-8,GBK,gb2312等

    元素和属性:XML文档包含XML元素的,XML元素指的是从开始标签(包括)到结束标签的部分,
    元素可以包含其他元素和文本或者两者混合,元素可以拥有属性。
    <dataSource id="db_oracle">
    <property name="url">
    oracle:jdbc:thin:@localhost:1521:orcl
    </property>

    <property name="user">

    </property>


    </dataSource>

    XML元素可以在开始标签中包含属性,属性(Attribute)提供关于元素额外信息,属性通常提供不属于数据组成部分的信息,
    XML属性必须要加上引号,属性值必须要被引号包围,单引号和双引号都可以使用。

    如果属性值本身包含双引号,那么有必要使用单引号包围。XML对大小写是敏感的
    标记<Letter>和<letter>是属于不同的标记,因此其实标记和结束标记的大小写要相同。

    元素必须要有关闭标签,XML要求每个元素必须由起始标签和关闭标签组成,关闭标签和起始标签的名字相同,写法上多一个'/'。

    XML要求必须有根元素(即不被其他的元素包围),但是根元素只能有一个。元素必须正确的嵌套
    错误写法:
    <dataSource id="db_oracle">
    <property name="url">
    oracle:jdbc:thin:@localhost:1521:orcl
    </property>
    <property name="user">
    </dataSource>
    </property>

    XML解析(重点)
    1)DOM解析方式
    DOM(Document Object Model)即文档对象模型,是W3C组织推荐的处理XML的一种方式。DOM解析器在解析XML文档时,会把
    文档中全部元素,按照出现的层次关系,解析成一个个节点对象。

    优点:把XML文件在内存中构造形成树形结构,可以遍历和修改节点
    缺点:如果文件比较大,内存压力大,解析的时间长


    2)SAX解析方式
    SAX(Simple API For XML)一种XML解析的替代方法,相比于DOM,SAX是一种速度更快,更有效的方法,它逐行扫描文件,一遍扫描
    一遍解析,而且相比于DOM,可以在文档的任何时刻停止解析。

    优点:解析可以立刻开始,速度快
    缺点:不能对节点修改

    SAXReader读取XML文档
    使用SAXReader需要导入dom4j-full.jar
    dom4j是一个Java的XML API,类似于jdom,用来读写XML文件,具有性能优异,功能强大和容易使用,同时它也是开放源代码的软件。

    //创建SAXReader
    SAXReader reader=new SAXReader();
    //读取指定的XML文件
    Document document=reader.read(new File(filename));

    Document对象:是一棵文档树的根,可以为我们提供对文档数据访问的入口。
    Document的getRootElement()方法,返回根元素
    Element getRootElement() 获取根元素

    Element对象:表示XML文档的元素,元素可以包含属性,其他元素和文本,如果包含文本,则在文本节点中表示此文本。

    //获取当前元素下的指定名字的子元素
    Element element(String name);

    //获取当前元素下的全部子元素
    List elements();

    //获取当前元素的元素名
    String getName();

    //获取当前元素的文本节点(起始标签和结束标签之间的文本)
    String getText();

    //获取当前元素的指定属性,index是索引,从0开始
    Attribute attribute(int index);

    //获取当前元素的指定名字的属性
    Attribute attribute(String name);

    Attribute对象:用于描述一个元素中的某个属性信息
    //获得当前属性的名字
    String getName();

    //获取当前属性的值
    String getValue();

    写XML
    构造Document对象
    通过dom4j写xml的第一步,创建文档对象
    创建Document对象的方式是通过DocumentHelper的静态方法,
    创建和返回Document对象
    static Document createDocument();

    通过Document提供的方法addElement()添加根元素
    Element addElement()向文档中添加根元素并此返回
    此方法只调用一次。

    向根元素中追加新的子元素
    Element addElement(String name)
    向当前元素中添加指定名字的子元素

    Element addAttribute(String name,String value)
    向当前元素添加指定的属性及对应的值,返回值依然是当前元素

    Element addText(String text)
    向当前元素添加指定内容的文本

    通过XMLWriter将文档输出生成XML文件
    XMLWriter writer=new XMLWriter();
    FileOutputStream fos=new FileOutputStream("");
    writer.setOutputStream(fos);
    writer.write(document);
    writer.close();

  • 相关阅读:
    Python 特点
    Python简介
    数据库查询语句
    人月神话读书笔记01
    团队介绍
    团队项目一 原型展示+电梯演讲
    全球疫情可视化展示
    NABCD模型
    第六周学习进度
    构建之法阅读笔记03
  • 原文地址:https://www.cnblogs.com/yingyigongzi/p/9232313.html
Copyright © 2011-2022 走看看