JDOM对xml的解析
来源:互联网 发布:java aes 256 cbc加密 编辑:程序博客网 时间:2024/05/16 14:09
sample.xml如下:
<?xml version="1.0" encoding="UTF-8"?>
<HD>
<disk name="C">
<capacity>8G</capacity>
<directories>200</directories>
<files>1580</files>
</disk>
<disk name="D">
<capacity>100G</capacity>
<directories>500</directories>
<files>3000</files>
</disk>
</HD>
解析类sample.java:
package jdom.sample;
import java.io.IOException;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
public class Sample {
/**
* @param args
* @throws IOException
* @throws JDOMException
*/
public static void main(String[] args) throws Exception {
SAXBuilder sb=new SAXBuilder();
Document doc=sb.build("sample.xml");//构造文档对象
Element root=doc.getRootElement();//获取根节点
List list=root.getChildren();//取名字为disk的所有元素
for(int i=0;i<list.size();i++){
Element element=(Element) list.get(i);
String name=element.getAttributeValue("name");
String capacity=element.getChildText("capacity");
String dirctories=element.getChildText("directories");
String files=element.getChildText("files");
System.out.println("磁盘信息:");
System.out.println("分区盘符:"+name);
System.out.println("分区容量:"+capacity);
System.out.println("目录数:"+dirctories);
System.out.println("文件数:"+files);
System.out.println("---------------------");
}
}
}
或者如JodmXml如下:
package jdom.sample;
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;
public class JdomXml {
/**
* @param args
*/
public JdomXml(){}
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());
}
System.out.println("孩子节点如下:-----------------------------");
for(int i=0;i<childList.size();i++){
//获得第一个孩子结点
Element child = (Element) childList.get(i);
//获得孩子结点的属性
List attrList = child.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 = child.getChildren();
Iterator sonIt = sonList.iterator();
while(sonIt.hasNext()){
Element temp = (Element)sonIt.next();
System.out.println("属性"+temp.getName()+"的值是:"+temp.getValue());
}
System.out.println("------------------------");
}
} catch (JDOMException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
JdomXml test = new JdomXml();
test.parseXml(new File("sample.xml"));
}
}
- JDOM对xml的解析
- Java开源-Jdom对XML解析方法的使用指南
- JAVA对XML的几种解析方法讲解(JDOM)
- DOM、SAX、JDOM、JAXB 对XML 文档的解析
- jdom 对xml的操作
- xml文件的jdom解析
- jdom解析XML的问题
- JDom,jdom解析xml文件
- jdom对xml文件的读写操作
- 用jdom对xml文件的读取
- JAVA对XML的几种解析方法讲解(JDOM)
- 对XML文件的解析,DOM、SAX、JDOM、JAXB还有dom4
- xml的Jdom解析过程详解
- JDOM 解析 XML的常用方法
- 解析XML的方式之JDOM
- 使用Jdom进行简单的XML解析
- 利用JDOM對XML文件的解析
- 解析XML的 - dom4j 和 jdom
- 解决mysql主从不同步
- 分治算法之快速排序
- 编码时常犯的错误!
- IE6,IE7下text-indent为负值的时候 line-block不起作用。
- android Content Provider详解(1)
- JDOM对xml的解析
- Flex 监听键盘事件(学习笔记)
- Html img 属性和用法
- uart FIFO
- android 获取Bitmap缩略图
- 负载均衡,会话保持,session同步
- Hibatenate 里面的get 和load区别
- TPCC简介
- JQUERY dialog使用