Java全面解析XML格式串(JDOM解析)

 更新时间:2016年06月06日 17:07:03   投稿:jingxian  
下面小编就为大家带来一篇Java全面解析XML格式串(JDOM解析)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

Java全面解析XML格式串(JDOM解析)

import java.io.IOException;
import java.io.StringReader;
import java.util.List;

import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.Namespace;
import org.jdom.input.SAXBuilder;
import org.xml.sax.InputSource;

public class DuXMLDoc {
  public List xmlElements(String xmlDoc) {
    //创建一个新的字符串
    StringReader read = new StringReader(xmlDoc);
    //创建新的输入源SAX 解析器将使用 InputSource 对象来确定如何读取 XML 输入
    InputSource source = new InputSource(read);
    //创建一个新的SAXBuilder
    SAXBuilder sb = new SAXBuilder();
    try {
      //通过输入源构造一个Document
      Document doc = sb.build(source);
      //取的根元素
      Element root = doc.getRootElement();
      System.out.println(root.getName());//输出根元素的名称(测试)
      //得到根元素所有子元素的集合
      List jiedian = root.getChildren();
      //获得XML中的命名空间(XML中未定义可不写)
      Namespace ns = root.getNamespace();
      Element et = null;
      for(int i=0;i<jiedian.size();i++){
        et = (Element) jiedian.get(i);//循环依次得到子元素
        
        System.out.println(et.getChild("users_id",ns).getText());
        System.out.println(et.getChild("users_address",ns).getText());
      }
      
      et = (Element) jiedian.get(0);
      List zjiedian = et.getChildren();
      for(int j=0;j<zjiedian.size();j++){
        Element xet = (Element) zjiedian.get(j);
        System.out.println(xet.getName());
      }
    } catch (JDOMException e) {
      // TODO 自动生成 catch 块
      e.printStackTrace();
    } catch (IOException e) {
      // TODO 自动生成 catch 块
      e.printStackTrace();
    }
    return null;
  }
  public static void main(String[] args){
    DuXMLDoc doc = new DuXMLDoc();
    String xml = "<?xml version=\"1.0\" encoding=\"gb2312\"?>"+
    "<Result xmlns=\"http://www.fiorano.com/fesb/activity/DBQueryOnInput2/Out\">"+
      "<row resultcount=\"1\">"+
       "<users_id>1001   </users_id>"+
       "<users_name>wangwei  </users_name>"+
       "<users_group>80    </users_group>"+
       "<users_address>1001号  </users_address>"+
      "</row>"+
      "<row resultcount=\"1\">"+
       "<users_id>1002   </users_id>"+
       "<users_name>wangwei  </users_name>"+
       "<users_group>80    </users_group>"+
       "<users_address>1002号  </users_address>"+
      "</row>"+
    "</Result>";
    doc.xmlElements(xml);
  }
}

以上这篇Java全面解析XML格式串(JDOM解析)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • java多线程中线程封闭详解

    java多线程中线程封闭详解

    在本文里我们给大家分享了关于java多线程中线程封闭的知识点内容以及用法,有需要读者们可以参考下。
    2019-07-07
  • Springboot实现导入导出Excel的方法

    Springboot实现导入导出Excel的方法

    今天带各位小伙伴学习Springboot实现导入导出Excel的方法,文中有非常详细的介绍,对正在学习java的小伙伴们有很好地帮助,需要的朋友可以参考下
    2021-05-05
  • Java 实现汉字转换为拼音的实例

    Java 实现汉字转换为拼音的实例

    这篇文章主要介绍了Java 实现汉字转换为拼音的实例的相关资料,需要的朋友可以参考下
    2016-12-12
  • Mybatis-plus全局id生成策略详解

    Mybatis-plus全局id生成策略详解

    这篇文章主要介绍了Mybatis-plus全局id生成策略详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • Java中不常用但很好用的开发小技巧分享

    Java中不常用但很好用的开发小技巧分享

    其实干 Java 开发,必然离不开一些计算,所以就会经常用到 BigDecimal ,今天小编就来给大家分项一下那些不怎么常用,但是非常有用的方法,需要的可以参考一下
    2023-04-04
  • 解决Mybatis-plus和pagehelper依赖冲突的方法示例

    解决Mybatis-plus和pagehelper依赖冲突的方法示例

    这篇文章主要介绍了解决Mybatis-plus和pagehelper依赖冲突的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • Spring的@RequestParam对象绑定方式

    Spring的@RequestParam对象绑定方式

    这篇文章主要介绍了Spring的@RequestParam对象绑定方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • Spring常用一些工具类实例汇总

    Spring常用一些工具类实例汇总

    这篇文章主要介绍了Spring常用一些工具类实例汇总,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-12-12
  • Java SoftReference类案例详解

    Java SoftReference类案例详解

    这篇文章主要介绍了Java SoftReference类案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • SpringAop中AspectJ框架的切入点表达式

    SpringAop中AspectJ框架的切入点表达式

    这篇文章主要介绍了SpringAop中AspectJ框架的切入点表达式,AspectJ是一个基于Java语言的AOP框架,Spring2.0以后新增了对AspectJ切点表达式支持,@AspectJ 是AspectJ1.5新增功能,通过JDK5注解技术,允许直接在Bean类中定义切面,需要的朋友可以参考下
    2023-08-08

最新评论