欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-03-12 16:25:08
java全面解析xml格式串(jdom解析) import java.io.ioexception; import java.io.stringreader;...

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解析)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。