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);//循环依次得到子元素
/**//*
* 无命名空间定义时
* et.getChild("users_id").getText();
* et.getChild("users_address",ns).getText()
*/
System.out.println(et.getChild("users_id",ns).getText());
System.out.println(et.getChild("users_address",ns).getText());
}
/**//*
* 如要取<row>下的子元素的名称
*/
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);
}
}

最新文章

  1. RunLoop 总结:RunLoop的应用场景(二)
  2. Yeelink 初探
  3. hdparm测试硬盘性能
  4. 。。。验证码,发送不同的GET请求。。。
  5. CODESOFT 2015中的二维码该怎样生成
  6. 解决:Eclipse导入工程后全是错误,连基本类型都不识别
  7. oracle rac IP详解
  8. PHPCMS(2)PHPCMS V9 环境搭建(转)
  9. Mysql5.6.24 zip解压缩版配置及修改默认编码方法
  10. Spark Standalone Mode
  11. Hibernate详细教程
  12. 原生javascript实现图片放大镜效果
  13. virtio 简介
  14. uva10603 倒水问题
  15. wordpress上下篇
  16. ArcGIS API for JS 测量线长(各折线段)
  17. 属性动画总结(Property Animation)
  18. javascript 点击按钮实现隐藏显示切换效果
  19. 振兴中华|2013年蓝桥杯A组题解析第三题-fishers
  20. 从零开始学JAVA(09)-使用SpringMVC4 + Mybatis + MySql 例子(注解方式开发)

热门文章

  1. vim 处理换行符
  2. CentOS中文乱码的问题
  3. pojo和vo有什么区别
  4. Maven自动生成web.xml配置文件
  5. MySQL的安装过程
  6. python sax解析xml
  7. python中strip()函数的理解
  8. 概率图模型(PGM)学习笔记(二)贝叶斯网络-语义学与因子分解
  9. kvm&amp;vnc 简单安装shell脚本
  10. JS——特效秀