package com.xiaozhu.template.jdom;
import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import org.jdom.Attribute;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
/**
* 相关描述:
*
* @Author:tangchang
* @Time:2012-6-24 下午08:01:15
* @Version 1.0
*/
public class JDomXML {
public JDomXML() {
}
/**
* 相关说明:解析xml
* @author 创建人: tangchang
* @time:2012-6-24 下午08:41:37
*/
public void parseXml(File xmlFile) {
SAXBuilder sax = new SAXBuilder();// 在内存中建立一个sax文档模型
try {
Document xmlDom = sax.build(xmlFile);// 创建文档
// 获得文件的根元素
Element root = xmlDom.getRootElement();
System.out.println("根元素是:" + root.getName());
// 获得根元素的子节点
List<?> childList = root.getChildren();
Iterator<?> listIt = childList.iterator();
while (listIt.hasNext()) {
Element element = (Element) listIt.next();
System.out.println("孩子结点是:" + element.getName());
}
for(int i=0;i<childList.size();i++){
// 获得第一个孩子结点
Element firstChild = (Element) childList.get(i);
System.out.println("这是第"+(i+1)+"个元素!");
// 获得孩子结点的属性
List<?> attrList = firstChild.getAttributes();
Iterator<?> attrIt = attrList.iterator();
while (attrIt.hasNext()) {
Attribute attr = (Attribute) attrIt.next();
System.out.println("第"+(i+1)+"个元素的属性是:" + attr.getName());
// 获得属性的值
System.out.println("属性的值是:" + attr.getValue());
// 获得属性的类型
System.out.println("属性的类型是:" + attr.getAttributeType());
}
List<?> sonList = firstChild.getChildren();
Iterator<?> sonIt = sonList.iterator();
while (sonIt.hasNext()) {
Element temp = (Element) sonIt.next();
System.out.println("属性" + temp.getName() + "的值是:"+ temp.getValue());
}
}
} catch (JDOMException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
JDomXML test = new JDomXML();
test.parseXml(new File("persons.xml"));
}
}
jdom解析xml、dtd约束xml文件
5星 · 超过95%的资源 需积分: 9 97 浏览量
2012-07-16
13:34:15
上传
评论
收藏 147KB RAR 举报
_多睡会儿儿_
- 粉丝: 1
- 资源: 46
最新资源
- 80632180.jpg
- 李旭国体注入追踪[5.0](1).zip
- semantic.c
- C语言基础-C语言编程基础之Leetcode编程题解之第39题组合总和.zip
- C语言基础-C语言编程基础之Leetcode编程题解之第38题外观数列.zip
- C语言基础-C语言编程基础之Leetcode编程题解之第37题解数独.zip
- C语言基础-C语言编程基础之Leetcode编程题解之第36题有效的数独.zip
- C语言基础-C语言编程基础之Leetcode编程题解之第35题搜索插入位置.zip
- index.wxml
- C语言基础-C语言编程基础之Leetcode编程题解之第33题搜索旋转排序数组.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈