![8af4387c07a8d1e57672da692306b258.png](https://i-blog.csdnimg.cn/blog_migrate/ee641a0308c69af5624e243b45c3ca30.jpeg)
XML一般用来存储数据作为数据存储的一种格式
XML还可以用于作为软件的参数配置
![11c69a3843fdc97a26edcdd33671895d.png](https://i-blog.csdnimg.cn/blog_migrate/9a013a69196408bd8282d1d7f11bfd82.png)
这里讲下如何理解java中的相对路径
在java中如何获取当前的路径,当我们知道当前的路径了以后我们就可以使用绝对路径了
![0cc0ad3ee98d495fc620ffdae6c9c8bf.png](https://i-blog.csdnimg.cn/blog_migrate/5d250479538552d8890a73c248ef6d58.jpeg)
![cb9e798aa9cfe3cad57f958e22130cf1.png](https://i-blog.csdnimg.cn/blog_migrate/544b84c3a7d42463e61ddeb12bac5629.jpeg)
![8e52b9e871d54bdf9ab54d2847ea9159.png](https://i-blog.csdnimg.cn/blog_migrate/39deb2e4e605078c772df022169ebe51.png)
package cn.jd.server.basic;
import java.io.IOException;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
/*
* 熟悉SAX解析流程
*/
public class XmlTest01 {
public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException {
System.out.println();
//SAX解析
//1.获得解析工厂
SAXParserFactory factory=SAXParserFactory.newInstance();
//2.从解析工厂获得解析器
SAXParser parse=factory.newSAXParser();
//3.编写处理器
//4.加载文档Document注册处理器
PHandler handler=new PHandler();
//5.解析 用当前线程的类加载器拿到p.xml的资源
parse.parse(Thread.currentThread().getContextClassLoader()
.getResourceAsStream("cn/jd/server/basic/p.xml"),handler);
}
}
class PHandler extends DefaultHandler{
@Override
public void startDocument() throws SAXException {
System.out.println("解析文档开始");
}
@Override
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
System.out.println(qName+"-->解析开始");
}
@Override
public void characters(char[] ch, int start, int length) throws SAXException {
String contents=new String(ch,start,length).trim();
if(contents.length()>0) {
System.out.println("内容为:"+contents);
}else {
System.out.println("空内容");
}
}
@Override
public void endElement(String uri, String localName, String qName) throws SAXException {
System.out.println(qName+"-->解析结束");
}
@Override
public void endDocument() throws SAXException {
System.out.println("解析文档结束");
}
}
<?xml version="1.0" encoding="utf-8"?>
<persons>
<person>
<name>至尊宝</name>
<age>9000</age>
</person>
<person>
<name>白晶晶</name>
<age>7000</age>
</person>
</persons>