XML解析

  • XSD简介

1.XSD是DTD的替代者

2.他不仅可以定义XML文档的结构,还可以规范文档的内容

3.XSD本身也是XML文档,

4.XSD采用XML文档来定义语义约束,比DTD要复杂一些,但是共跟那个要强大很多

a,支持丰富的数据类型

b.允许开发者自定义的数据类型

c可读性比较强

d可以针对未来需求进行扩展

  • XML解析

是对xml文件进行操作,包括创建xml,对xml文件进行增删改查的操作

》》》常见的xml解析技术

1.DOM解析(原生解析,官方)

是官方提供的解析方式,是基于XML树解析的,比较耗费资源,适用于多次访问xml

2.SAX解析(原生解析,民间)

基于事件,小号资源标记哦少,适用于较大的的XML

3.JDOM解析()

开放源代码,比DOM快,但是仅适用具体类而不适用接口

4.DOM4J解析,(是JDOM的升级版本)

开源免费,性能优异,功能强大,使用接口而不是实现类,非常优秀的java XML API

DOM4J解析,是提供开源免费,是一个升级版

package bjsxt.xml;

import java.io.File;
import java.util.Iterator;

import org.dom4j.*;
import org.dom4j.io.SAXReader;


public class getXML {
    
    public static void main(String[] args) throws DocumentException
    {
        //1.创建SAXReader对象,用于读取xml文件
        SAXReader reader = new SAXReader(); 
        //2.读取xml文件,得到Document、对象
        Document doc =  reader.read(new File("src/books.xml"));
        
        //System.out.println(document);
        //3.获取根元素
        Element root =  doc.getRootElement();
        //System.out.println(root.getName());
        
        //4.找到根元素下面的所有子元素
        Iterator<?> it =  root.elementIterator();
        while(it.hasNext())
        {
            //5.取出元素
            Element e = (Element)it.next();
            System.out.println(e.getName());
            //5.1取出属性
            //e.attributeIterator();
            Attribute id = e.attribute("id");
            System.out.println(id.getName()+"="+id.getValue());
            //5.2获取子元素
            Element name = e.element("name");
            Element author = e.element("author");
            Element price = e.element("price");
            
            System.out.println(name.getName()+"="+name.getStringValue());
            System.out.println(author.getName()+"="+author.getText());
            System.out.println(price.getName()+"="+price.getStringValue());
            
            System.out.println("-----------------------------");
        }
    }

}

 》》》a.被读取的xml文件在上一篇文章中,

》》》b.在运行上面程序之前需要需要先下载dom4j.jar包,然后将这个jar包添加到项目中去

    http://www.pc6.com/softview/SoftView_449799.html 随便一个下载地址

 1.右击“项目”→选择Properties,在弹出的对话框左侧列表中选择Java Build Path,弹出对话框,这里选择"Add Library",弹出对话框,选择"User Library",然后选择→Next
  2.在出现的对话框中,可以选择已经创建好的用户自定义库,也可以选择User Libraries,弹出的新对话框中选择"New",创建新的用户自定义库。
  3.在待创建用户自定义库中,输入新的自定义库的名字,
  4.然后为新库,添加所需的Jar包
  5.按上述步骤添加好用户自定义库后,以后可以重用这些已定义好的User Library库,为开发节省时间。

原文地址:https://www.cnblogs.com/qinzhihaovip/p/9863075.html