SAXBuilder是什么?
SAXBuilder是一个JDOM解析器,能够将路径中xml文件解析到Document对象

SAXBuilder是优缺点?
优点:对内存消耗小,适用于只处理xml文件
缺点:不易编程(需要借助handler来进行解析)很难同时访问一个xml中的多处不同数据

Java中使用SAXBuilder来操作xml格式文件,常用方法:

import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.jdom.output.XMLOutputter;

在maven中添加对应jar:

        <properties><saxbuilder.version>2.0.5</saxbuilder.version></properties><!-- SAXBuilder --><dependency><groupId>org.jdom</groupId><artifactId>jdom2</artifactId><version>${saxbuilder.version}</version></dependency>

 解析XML工具类:

/*** 解析xml,返回第一级元素键值对。如果第一级元素有子节点,则此节点的值是子节点的xml数据。* @param strxml* @return* @throws org.jdom2.JDOMException* @throws IOException*/public static Map doXMLParse(String strxml) throws Exception {if (null == strxml || "".equals(strxml)) {return null;}Map m = new HashMap();InputStream in = StringInputstream(strxml);SAXBuilder builder = new SAXBuilder();Document doc = builder.build(in);Element root = doc.getRootElement();List list = root.getChildren();Iterator it = list.iterator();while (it.hasNext()) {Element e = (Element) it.next();String k = e.getName();String v = "";List children = e.getChildren();if (children.isEmpty()) {v = e.getTextNormalize();} else {v = getChildrenText(children);}m.put(k, v);}//关闭流in.close();return m;}/*** 获取子结点的xml** @param children* @return String*/public static String getChildrenText(List children) {StringBuffer sb = new StringBuffer();if (!children.isEmpty()) {Iterator it = children.iterator();while (it.hasNext()) {Element e = (Element) it.next();String name = e.getName();String value = e.getTextNormalize();List list = e.getChildren();sb.append("<" + name + ">");if (!list.isEmpty()) {sb.append(getChildrenText(list));}sb.append(value);sb.append("</" + name + ">");}}return sb.toString();}public static InputStream StringInputstream(String str) {return new ByteArrayInputStream(str.getBytes());}

Java解析XML之SAXBuilder用法相关推荐

  1. 详解Java解析XML的四种方法

    http://developer.51cto.com  2009-03-31 13:12  cnlw1985  javaeye  我要评论(8) XML现在已经成为一种通用的数据交换格式,平台的无关性 ...

  2. Java解析XML汇总(DOM/SAX/JDOM/DOM4j/XPath)

    http://blog.csdn.net/smcwwh/article/details/7183869 关键字:Java解析xml.解析xml四种方法.DOM.SAX.JDOM.DOM4j.XPath ...

  3. java解析xml的几种方式

    java解析xml的几种方式 博客分类: java基础备忘-好记性不然烂笔头 XMLJava应用服务器数据结构编程  第一种:DOM. DOM的全称是Document Object Model,也即文 ...

  4. JAVA解析xml的五种方式比较

    1)DOM解析 DOM是html和xml的应用程序接口(API),以层次结构(类似于树型)来组织节点和信息片段,映射XML文档的结构,允许获取和操作文档的任意部分,是W3C的官方标准[优点]①允许应用 ...

  5. java解析xml的三种方法

    java解析XML的三种方法 1.SAX事件解析 package com.wzh.sax;import org.xml.sax.Attributes; import org.xml.sax.SAXEx ...

  6. xml教程之java解析xml文档

    1.java解析xml文件介绍 XML解析方式分为两种:DOM方式和SAX方式 DOM:Document Object Model,文档对象模型.这种方式是W3C推荐的处理XML的一种方式. SAX: ...

  7. Java 解析 XML

    Java 解析 XML 标签: Java基础 XML解析技术有两种 DOM SAX DOM方式 根据XML的层级结构在内存中分配一个树形结构,把XML的标签,属性和文本等元素都封装成树的节点对象 优点 ...

  8. java解析xml文件

    使用java解析xml文件,通过dom4j. 代码如下: package com.java.team; import java.io.File; import java.util.ArrayList; ...

  9. 在java解析XML写入到数据库中遇到的问题

    用java程序解析XML写入到MYSQL中遇到了很多问题. 1,关于XML JAVA解析XML的时候,一定要处理没有读取到XML.读取到XML但是里面的元素节点不存在的问题,不然会出很多问题. 2.数 ...

最新文章

  1. mysql数据库优化命令_MySQL数据库优化总结
  2. Cmake软件编译opencv报错,CMake Warning at cmake/OpenCVDownload.cmake:193 (message): FFMPEG: Download...
  3. 智能家居隐私问题再遭热议:涉案设备中的数据究竟受不受保护?
  4. discuz x3插件开发傻瓜图文教程,用demo说话
  5. Left 4 Dead升级补丁总汇(3663-3986)
  6. ifconfig命令无法找到,提示bash: ifconfig: command not found
  7. 批处理:修改COM端口号
  8. 基于机器视觉的IC表面字符检测
  9. 计算机毕业设计ssm物业管理系统
  10. Appium原理总结
  11. 指挥调度中心大屏幕用液晶拼接屏还是DLP大屏?
  12. 叒一次算法作业hhhhhhhh
  13. 目标检测综述(二:古典方法对比现代方式以及目标检测算法相关概述)
  14. android img 文件解包
  15. java中OOP的概念之我见
  16. Crack:Aspose.Slides for .NET 22.12.x
  17. Java程序朗读文字的实现,jacob.jar
  18. SqlServer中with(nolock)详解
  19. Webrtc Native C++在root模式下启用PulseAudio,音频采集替换为ALSA模式
  20. Tomcat、Servlet

热门文章

  1. maven学习记录:maven工具栏解析
  2. Win10非分页缓冲池过大
  3. 深度 Windows Vista Ultimate GDH 精简CD 1.0 简体中文版
  4. inside sql server 2008 - logical query processing
  5. 苹果怎么没有4g信号还无服务器,不显示4g信号怎么回事?苹果手机不显示4g信号的解决方法...
  6. 【记录用python做毕业设计-游戏后台管理系统的整体流程】-持续更新中
  7. 《Excel公式与函数实战应用》
  8. 职场篇(二):明哥教你混职场
  9. (转)如何根据RGB值来判断这是种什么颜色?
  10. 3.4.1 3.3.1 3.3.2 企业版/集团版/旗舰版 框架源码 大屏设计 大屏源码 JNPF快速开发平台