Jdom的简单操作
http://blog.csdn.net/heirenheiren/article/details/7354108
http://www.cnblogs.com/hoojo/archive/2011/08/11/2134638.html
这两篇博客有比较好的解释
下面是我个人尝试
package com.test; import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.List; import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.jdom.output.XMLOutputter;
public class JDomTest {
public void dDom() throws JDOMException, IOException {
//指定解析器
SAXBuilder sb=new SAXBuilder();
//获取xml文件的InputStream
InputStream is=this.getClass().getClassLoader().getResourceAsStream("test.xml");
System.out.println(is);
//得到Document
Document dc=sb.build(is);
/* 获取文件路径,变为输出流,并尝试修改xml文件失败
* String url=String.valueOf(this.getClass().getClassLoader().getResource("test.xml"));
* String path=url.substring(6);
* System.out.println("url:"+url+"\n"+"path:"+url.substring(6));
* OutputStream os=new FileOutputStream(new File(path));
*/ //取得根
Element root= dc.getRootElement();
//获取说有根下面 名字为disk的所有子项,并放到list中
List allList=root.getChildren("disk");
for(int i=0;i<allList.size();i++)
{
//获取单个element
Element sigElement=(Element)allList.get(i);
//获取单签element的属性
System.out.println("disk name:"+sigElement.getAttributeValue("name"));
//获取单签element下的子element
System.out.println("capacity:"+sigElement.getChildText("capacity"));
System.out.println("directories:"+sigElement.getChildText("directories"));
System.out.println("files:"+sigElement.getChildText("files")); }
/*获取文件路径,变为输出流,并尝试修改xml文件失败
* root.getChild("disk").setText("F");
* XMLOutputter outPutter=new XMLOutputter();
* outPutter.output(dc,os);
*/ } }
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>10G</capacity>
<directories>500</directories>
<files>3000</files>
</disk>
</HD>
结果:
java.io.BufferedInputStream@5cbfe9d
disk name:C
capacity:8G
directories:200
files:1580
disk name:D
capacity:10G
directori es:500
files:3000
上面有尝试修改xml文件,逻辑上是没有错的,但是在执行过程中,总是有错,是jdom的问题,把代码注释掉,还是有错,只有把jdom包重新考进去覆盖原先的包,才不会报错
郁闷啊!
Jdom的简单操作的更多相关文章
- x01.MagicCube: 简单操作
看最强大脑,发现魔方还是比较好玩的,便买了一个,对照七步还原法,居然也能成功还原. 为什么不写一个魔方程序呢?在网上找了找,略作修改,进行简单操作,还是不错的,其操作代码如下: protected o ...
- js简单操作Cookie
贴一段js简单操作Cookie的代码: //获取指定名称的cookie的值 function getCookie(objName) { var arrStr = document.cookie.spl ...
- GitHub学习心得之 简单操作
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 前言 本文对Github的基本操作进行了总结, 主要基于以下文章: http://gitre ...
- Linq对XML的简单操作
前两章介绍了关于Linq创建.解析SOAP格式的XML,在实际运用中,可能会对xml进行一些其它的操作,比如基础的增删该查,而操作对象首先需要获取对象,针对于DOM操作来说,Linq确实方便了不少,如 ...
- Linux 中 Vi 编辑器的简单操作
Linux 中 Vi 编辑器的简单操作 Vi 编辑器一共有3种模式:命名模式(默认),尾行模式,编辑模式.3种模式彼此需要切换. 一.进入 Vi 编辑器的的命令 vi filename //打开或新 ...
- python(pymysql)之mysql简单操作
一.mysql简单介绍 说到数据库,我们大多想到的是关系型数据库,比如mysql.oracle.sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库 ...
- ZooKeeper系列3:ZooKeeper命令、命令行工具及简单操作
问题导读1.ZooKeeper包含哪些常用命令?2.通过什么命令可以列出服务器 watch 的详细信息?3.ZooKeeper包含哪些操作?4.ZooKeeper如何创建zookeeper? 常用命令 ...
- ORACLE的安装与网页版创建表空间的简单操作以及PLsql的简单操作
1.oracle的安装: 安装简单易学,在这里不做解释.下载看装包后耐心等待,注意安装目录不要有中文字符,尽量按照指定目录进行安装.安装完成后会占用有大约5g的内存. 如果要卸载oracle,需要用其 ...
- C#反射技术的简单操作(读取和设置类的属性)
public class A { public int Property1 { get; set; } } static void Main(){ A aa = new A(); Type type ...
随机推荐
- Eclipse设置Courier New字体
使用Eclipse我们会发现在字体设置里找不到钟爱的Courier New字体.其实这个字体不是没有,只是没有显示而已,它其实隐藏起来了,只需几步便可让其现原形—— 1.找到Eclipse设置字体的地 ...
- angular指令的详细讲解,不断补充
独立作用域:就是在指令中设置了scope: **** ·false 共享父作用域 ·true 继承父作用域,并且新建独立作用域 ·object 不继承父作用域,创建新的独立作用域 一般来说我们会使用第 ...
- 02 - Unit06:弹出对话框
弹出对话框 如何实现弹出 //弹出出对话框 $("#can").load("alert/alert_notebook.html"); //显示背景色 $(&qu ...
- POJ 2395 Out of Hay(求最小生成树的最长边+kruskal)
Out of Hay Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 18472 Accepted: 7318 Descr ...
- javascript 判断空数组
javascript里判断空数组不能用 []==[] 这样来判断,因为数组也是个对象,普通对象通过指针指向的内存中的地址来做比较 所以 []==[]结果为false,因此判断数组是否为空 用 [].l ...
- CentOS 修改IP地址为静态IP
vi /etc/sysconfig/network-scripts/ifcfg-eth0 TYPE=Ethernet BOOTPROTO=static DEFROUTE=yes NAME=eth0 ...
- mybatis 1 - 获取自增ID
1.环境: mybatis : 3.2.3 spring-mybatis: 1.2.1 mysql:5.5.29 实体: public class sys_user { private int us ...
- 记一次微信小程序开发
之前在网上看到博客园新闻服务开放接口,因为自己本身有看博客园IT新闻的习惯,为了能随时随地简洁方便的浏览新闻,于是萌生了一个利用开放API开发一个微信小程序的想法. 1. mpvue初探 平时技术栈有 ...
- delphi加密算法
function EncryptKey(sUser,sPasswd:string):string;stdcall; var __i,__k,__a : Integer; __s : string; b ...
- XACT Q&A (转)
XACT Q&A 传送门:http://blog.csdn.net/xoyojank/article/details/4098633