当前位置: 首页 > article >正文

XML基础入门:关于XML解析

目录

一.什么是配置文件?

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

三.如何获取XML所在位置

分类:

        1.同包名下

        2.根目录下

        3.安全目录下

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

步骤思路:

dom4中的方法:

五.xpath的使用


一.什么是配置文件?

配置文件就是作配置的,常见的的后缀名有 :   .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中的方法SAXReaderSAXReader 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中的nameNode 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中的方法SAXReaderSAXReader sr = new SAXReader();//3.调用SAXReader	read的方法Document read = sr.read(is);//按照Xpath解析的格式//*[@id="csdn-toolbar"]/divNode selectSingleNode = read.selectSingleNode("/students/student[@sid='s001']");System.out.println(selectSingleNode.asXML());
}
}

http://www.lryc.cn/news/2412641.html

相关文章:

  • ELK介绍及架构分析
  • Vue.js学习
  • Zookeeper详解(最详细的zookeeper解析+项目实例)
  • lodash的用法详解
  • Base64解码
  • 推荐一款效率类小工具--utools
  • RocketMQ高级原理
  • C语言Switch语句的case用法详解
  • Zabbix最详细教程Ubuntu部署Zabbix6.0[图文]
  • “多重人格”的操作系统——openEuler
  • RabbitMQ详解:消息队列的原理、应用与最佳实践
  • 了解伽马(GAMMA、伽马值、光度、灰度系数)
  • 【计算机视觉 | 图像分割】arxiv 计算机视觉关于图像分割的学术速递(12 月 1 日论文合集)(上)
  • UniApp入门指南以及组件的使用
  • 从零基础学Go(六)——Go的复杂数据结构(下)
  • python编程:从入门到精通,python编程教学入门教程
  • OpenWrt网络配置详解
  • 【OpenCV】简介
  • 医学图像中的窗宽(Window Width,WW)和窗位(Window Level,WL)
  • Stream 流常见基本操作
  • ApiPost简介
  • Canvas详解
  • eclipse下载|安装|项目创建|常规设置|详细图文教程【windows10】
  • spring太强了!两万多字干货 超详细讲解
  • Kafka最全讲解,通俗易懂
  • PostgreSQL教程(三):SQL语言
  • Fiddler工具介绍及基本使用
  • axios 开源项目教程
  • Vue 3 中实现 Element Plus 表格的多选功能与条件操作(附Demo)
  • 微信开发者工具