一、什么是xml

1.可扩展标识语言,(Extensible Markup Language)就是在开发者在符合xml命名规则的基础之上 。可以根据自己的需求定义自己的标签

二、作用

主要是用来存储数据

三、解析xml Dom ,DOM4j ,SAX,

1、Dom4j

## Dom4j(点击下载)

(1) 获取jar包 导入
(2)编写xml文件(注意设置头格式)
(3)测试类

   public static void main(String[] args) {
        //创建解析器
        SAXReader reader=new SAXReader();
        //通过解析器的read方法 将配置文件 读取到内存到  生产一个Document【org。dom4j】对象
        try {
            Document document = reader.read("src/main/java/com/mapper/students.xml");//xml文件的位置
            //获取根节点
            Element rootElement = document.getRootElement();
            //遍历根节点  遍历获取到的根节点包节点中的根节点  遍历出来   有下一个就遍历
          for (Iterator<Element> elementIterator=rootElement.elementIterator();elementIterator.hasNext();){
              Element next = elementIterator.next();
                //同样 遍历
              for (Iterator<Element> iterator=next.elementIterator();iterator.hasNext();){//
                  Element next1 = iterator.next();//获取对象
                  String stringValue = next1.getStringValue();//获取对象的文本
                  System.out.println(stringValue);
              }
              System.out.println("----------------------------");
          }

        } catch (DocumentException e) {

            e.printStackTrace();
        }
    }

2、SAX( 边解析边写出 适合大的文件解析)

优点无需将整个文档加载在内存中 ,所有内存消耗少 适合解析大的xml文件

(1) 创建解析工厂

public class MainTest02 {
    public static void main(String[] args) {

        try {
            //创建解析工厂  保护方法必须instance
            SAXParserFactory saxParserFactory=SAXParserFactory.newInstance();
            //创建解析器
            SAXParser saxParser = saxParserFactory.newSAXParser();
            //通过解析器的parse方法
            saxParser.parse("src/main/java/com/mapper/students.xml",new MyDefaultHabdler());//自己创建一个解析器

        } catch (ParserConfigurationException e) {
            e.printStackTrace();
        } catch (SAXException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
class MyDefaultHabdler extends DefaultHandler{//创建解析器 继承 DefaultHandler解析方法
    @Override
    public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
        System.out.println(qName);
    }
    @Override
    public void endElement(String uri, String localName, String qName) throws SAXException {
        System.out.println(qName);
    }
    @Override
    public void characters(char[] ch, int start, int length) throws SAXException {
        System.out.println(new String(ch,start,length));
    }
}

Xpath

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐