XML基础入门:关于XML解析

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: XML基础入门:关于XML解析

一.什么是配置文件?

配置文件就是作配置的,常见的的后缀名有 :   .properties   .xml   .yml

二,为什么要用到配置文件?

我的理解是:方便别人用到我所定义的方法时,别人能够快速的入手,并且能节约成本。

又比如:在公司之中,我们常常需要导入外部的xml文件,和让别人使用我们的文件,这时我们只需要修改配置文件就能解决问题。

                 

三.如何获取XML所在位置

分类:

       1.同包名下

       2.根目录下

       3.安全目录下

package com.lya.xml1;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
/**
 * 获取不同位置的xml
 * @author 微微
 *
 */
public class Dome1 {
  public static void main(String[] args) throws Exception {
    //1.通过类加载文件
    InputStream is = Dome1.class.getResourceAsStream("config.properties");
    //2.创建一个XML解析
    Properties po = new Properties();
    //3.调用Properties  load的方法
    po.load(is);
    System.out.println(po.getProperty("driver"));//获取com.mysql.jdbc.Driver
//    //1.通过类加载文件
//    InputStream is = Dome1.class.getResourceAsStream("/config.properties");
//    //2.创建一个XML解析
//    Properties po = new Properties();
//    //3.调用Properties  load的方法
//    po.load(is);
//    System.out.println(po.getProperty("driver"));//获取com.mysql.jdbc.Driver
  }
}

四.如何获取XML内容(dom4j)

步骤思路:

      //1.通过类加载文件 InputStream is Dome2.class.getResourceAsStream("students.xml");

      //2.创建一个dom4中的方法SAXReader SAXReader sr = new SAXReader();

      //3.调用SAXReader read的方法 Document read = sr.read(is);

dom4中的方法:

      1.selectNodes 获取XML中的所有内容

        2.selectSingleNode 获取XML中的指定元素

        3.getText 获取XML中的指定元素的内容

        4.attributevalue 获取XML中的指定标签的属性

package com.lya.xml1;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import java.util.Properties;
import javax.xml.transform.sax.SAXResult;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;
/**
 * 获取XML中的内容(dom4j使用)
 * @author 微微
 *
 */
public class Dome2 {
  public static void main(String[] args) throws Exception {
        //1.通过类加载文件
        InputStream is = Dome2.class.getResourceAsStream("students.xml");
        //2.创建一个dom4j中的方法SAXReader
        SAXReader sr = new SAXReader();
        //3.调用SAXReader read的方法
        Document read = sr.read(is);
        //System.out.println(read.asXML());
        //这里一定要调用dom4j中的asXML()方法。否则会打印地址
//        <?xml version="1.0" encoding="UTF-8"?>
//        <students>
//          <student sid="s001">
//            <name>小明</name>
//          </student>
//          <student sid="s002">
//            <name>小芳</name>
//          </student>
//          <student sid="s003">
//            <name>小王</name>
//          </student>
//        </students>
        List <Element>selectNodes = read.selectNodes("/students/student");
        //因为/students/student 位于students.xml中 。所以要用/
        for (Element element : selectNodes) {
//          获取students
//          System.out.println(element.asXML());//得到
//        <students>
//          <student sid="s001">
//            <name>小明</name>
//          </student>
//          <student sid="s002">
//            <name>小芳</name>
//          </student>
//          <student sid="s003">
//            <name>小王</name>
//          </student>
//        </students>
//          获取student中的name
          Node selectSingleNode = element.selectSingleNode("name");
//          System.out.println(selectSingleNode.asXML());
//          <name>小明</name>
//          <name>小芳</name>
//          <name>小王</name>
//          获取name中的文本
//          System.out.println(selectSingleNode.getText());
//          获取指定元素属性
//          System.out.println(element.attributeValue("sid"));
//          根据指定元素获取指定元素属性
          if(element.attributeValue("sid").equals("s002")) {
            System.out.println(element.asXML());
          }
        }
  }
}

五.xpath的使用

   //按照Xpath解析的格式//*[@id="csdn-toolbar"]/div

package com.lya.xml1;
import java.io.InputStream;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;
/**
 * Xpath使用
 * @author 微微
 *
 */
public class Demo3 {
public static void main(String[] args) throws Exception {
  //1.通过类加载文件
  InputStream is = Dome2.class.getResourceAsStream("students.xml");
  //2.创建一个dom4j中的方法SAXReader
  SAXReader sr = new SAXReader();
  //3.调用SAXReader read的方法
  Document read = sr.read(is);
  //按照Xpath解析的格式//*[@id="csdn-toolbar"]/div
  Node selectSingleNode = read.selectSingleNode("/students/student[@sid='s001']");
  System.out.println(selectSingleNode.asXML());
}
}
目录
相关文章
|
1月前
|
XML 前端开发 Java
XML基本概念入门学习指南
XML(eXtensible Markup Language)是一种可扩展的标记语言,和HTML语言语法类似,同属于标记语言。
72 14
|
1月前
|
存储 弹性计算 NoSQL
"从入门到实践,全方位解析云服务器ECS的秘密——手把手教你轻松驾驭阿里云的强大计算力!"
【10月更文挑战第23天】云服务器ECS(Elastic Compute Service)是阿里云提供的基础云计算服务,允许用户在云端租用和管理虚拟服务器。ECS具有弹性伸缩、按需付费、简单易用等特点,适用于网站托管、数据库部署、大数据分析等多种场景。本文介绍ECS的基本概念、使用场景及快速上手指南。
86 3
|
1月前
|
机器学习/深度学习 数据采集 数据挖掘
Python编程语言的魅力:从入门到进阶的全方位解析
Python编程语言的魅力:从入门到进阶的全方位解析
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
前端大模型入门(三):编码(Tokenizer)和嵌入(Embedding)解析 - llm的输入
本文介绍了大规模语言模型(LLM)中的两个核心概念:Tokenizer和Embedding。Tokenizer将文本转换为模型可处理的数字ID,而Embedding则将这些ID转化为能捕捉语义关系的稠密向量。文章通过具体示例和代码展示了两者的实现方法,帮助读者理解其基本原理和应用场景。
490 1
|
2月前
|
XML Web App开发 JavaScript
XML DOM 解析器
XML DOM 解析器
|
2月前
|
XML Web App开发 JavaScript
XML DOM 解析器
XML DOM 解析器
|
2月前
|
XML Web App开发 JavaScript
XML DOM 解析器
XML DOM 解析器
|
2月前
|
JSON JavaScript 前端开发
深入解析ESLint配置:从入门到精通的全方位指南,精细调优你的代码质量保障工具
深入解析ESLint配置:从入门到精通的全方位指南,精细调优你的代码质量保障工具
102 0
|
2月前
|
XML Java 数据格式
手动开发-简单的Spring基于XML配置的程序--源码解析
手动开发-简单的Spring基于XML配置的程序--源码解析
87 0
|
2月前
|
XML Web App开发 JavaScript
XML DOM 解析器
XML DOM 解析器

推荐镜像

更多
下一篇
DataWorks