xml解析(等待更新中)
一、什么是xml1.可扩展标识语言,(Extensible Markup Language)就是在开发者在符合xml命名规则的基础之上 。可以根据自己的需求定义自己的标签二、作用主要是用来存储数据三、解析xml Dom ,DOM4j ,SAX,1、Dom4j## Dom4j(点击下载)(1) 获取jar包 导入(2)编写xml文件(注意设置头格式)(3)测试类public static void
·
一、什么是xml
1.可扩展标识语言,(Extensible Markup Language)就是在开发者在符合xml命名规则的基础之上 。可以根据自己的需求定义自己的标签
二、作用
主要是用来存储数据
三、解析xml Dom ,DOM4j ,SAX,
1、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
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)