SAXReader 解析xml「建议收藏」

SAXReader 解析xml「建议收藏」使用SAXReader解析xmlSAXReader的read方法有几种不同的重载,大概包括以下几种1.read(Filefile) 传入文件对象2.read(InputSourcein)传入InputSource3.read(InputStreamin) 传入流……其实最终的格式都是转换为InputSource的格式packageD

大家好,又见面了,我是你们的朋友全栈君。使用SAXReader解析xml

SAXReader的read方法有几种不同的重载,大概包括以下几种
1.read(File file)  传入文件对象
2.read(InputSource in) 传入InputSource
3.read(InputStream in)  传入流
……
其实最终的格式都是转换为InputSource的格式

package Document;

import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

public class SAXRead {


/**
* 传入xml字符串
* @param xml
* @return
* @throws DocumentException
*/
private static Document paseXmlStr2Document(String xml) throws DocumentException{

SAXReader reader = new SAXReader();
Document doc = reader.read(new ByteArrayInputStream(xml.getBytes()));
return doc;
}
/**
* 传入xml文件路径
* @param filePath
* @return
* @throws DocumentException
* @throws FileNotFoundException
*/
private static Document paseFileStr2Document1(String filePath) throws DocumentException, FileNotFoundException{

SAXReader reader = new SAXReader();
File xmlFile = new File(filePath);
return reader.read(xmlFile);
}
/**
* 传入xml文件路径
* @param filePath
* @return
* @throws DocumentException
* @throws FileNotFoundException
*/
private static Document paseFileStr2Document(String filePath) throws DocumentException, FileNotFoundException{

SAXReader reader = new SAXReader();
File xmlFile = new File(filePath);
FileInputStream fis = new FileInputStream(xmlFile);
return reader.read(fis);
}

public static void main(String[] args) {

try {

Document doc = paseFileStr2Document1(“D:/s.xml”);
Element root = doc.getRootElement();
//打印根节点下某节点名对应的节点值
System.out.println(root.elementText(“节点名”));
//打印根节点的名字
System.out.println(root.getName());
} catch (FileNotFoundException e) {

e.printStackTrace();
} catch (DocumentException e) {

e.printStackTrace();
}
}
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/150140.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • android onresume函数,android – 在Activity中重新创建后未调用onResume

    android onresume函数,android – 在Activity中重新创建后未调用onResume在应用程序设置中进行某些更改时,我在recreate的onActivityResult中调用MainActivity。重新创建后,不调用onResume。我也收到错误:E/ActivityThread:Performingpauseofactivitythatisnotresumed从this问题开始,我了解到不能从onResume调用此函数。但是我从onActivityResul…

    2022年6月2日
    108
  • 【前端】HTML详细教程(下篇)[通俗易懂]

    【前端】HTML详细教程(下篇)[通俗易懂]❤️HTML必备知识详解❤️☀️第三部分:特殊符号❄️(1)什么是特殊符号?????(2)为什么需要特殊符号?☔️第四部分:表格⛄️(1)什么是表格?????(2)表格如今用来干啥?????(3)表格初识????实现效果:☁️第五部分:表单(很重要哦!!!)⚡️1.是什么&什么作用&哪些应用????(1)表单是什么?????(2)表单的作用?????(3)表单的应用?????2.表单(form)的属性:????3.表单常用的标签:????(1)input标签:????1.input标

    2022年6月21日
    23
  • lstm分类模型_模型有哪两种

    lstm分类模型_模型有哪两种介绍LSTM模型在语言模型,机器翻译等领域取得了非凡的成就,然后LSTM网络有几百万的参数以及需要数周在多GPU系统中进行训练。因此,一下介绍两种方法来缩减网络参数以及训练时间。两种方法分别为factorizedLSTM(FLSTM)以及groupLSTM(GLSTM)。FLSTMFLSTM网络主要是将大的LSTM矩阵转化为两个小的矩阵。LSTM模型简单介绍在LST…

    2025年10月18日
    3
  • css背景渐变兼容性问题解决

    css背景渐变兼容性问题解决background webkit linear gradient right 9EC2340 background moz linear gradient right 9EC2340 background o linear gradient right 9EC2340 background linear gradient toright 9EC2340

    2025年7月8日
    2
  • 系统运维架构师体系[通俗易懂]

    系统运维架构师体系[通俗易懂]一、系统运维架构师体系1.系统运维架构体系排列:2.Linux运维架构的薪资水平:3.Linux运维的技能进化论4.Linux运维大致的知识框架4-1.Linux系统初级体系4-2.Linux系统中高级体系5.Linux运维的具体规划实践5-1.Linux运维基础5-2.Linux运维进阶6.Linux工作的必备要求7.Linux运维学习建议一、系统运维架构师体系1.系统运维架构体系排列:Linux运维工程师应用运维工程师,大数据运维工程师,运维开发工程师,云计算运维工程.

    2022年7月17日
    17
  • appscan激活成功教程版安装_appscan许可证管理在哪

    appscan激活成功教程版安装_appscan许可证管理在哪AppScan 是一个Web漏洞扫描程序,主要适用于Windows系统。该软件内置强大的扫描引擎,可以测试和评估Web服务和应用程序的风险检查,有助于防止破坏性的安全漏洞。1、安装实践环境

    2022年8月1日
    27

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号