对xml的处理_Dom4j入门_一个工具类

以下介绍Dom4j的环境是:windowsXP、eclipse3.5.0、jdk1.6、Dom4j1.6.1.jar

Dom4j1.6.1.jar架包可以在本人的资源中下载,欢迎下载使用

 

在java项目(web项目不一定适用)中,经常会用到一些xml配置文件,我们可以建立一个类,专门对该配置文件进行读取操作:

public class Global {
 
         private static final String xml = File.separator+"zony_config.xml";
 
          //获取xml中指定标签的内容
         public static  String getProperty(String propertyID){
               String property = "";
                //用一个map进行保存已经获取过的属性
               if(propertyID.length()>0){

                        //System.getProperty("java.class.path")是 Java 类路径,如:D:\workspace\java_work_01\bin;D:\workspace\java_work_01\antlr-2.7.4.jar;
                        String xmlpath = System.getProperty("java.class.path") .substring(0, System.getProperty("java.class.path").indexOf(";"))  + File.separator + xml;
                        property = getxmltext(xmlpath,propertyID);//获取xml中标签id是propertyID的文本内容
                }
                return property;
         }
 
         public static String getxmltext(String xmlpath,String propertyID){
                SAXReader readerxml=new SAXReader();
                String text = "";
                try {

                        Document doc=readerxml.read(new File(xmlpath));//读取一个形式良好的xml文件形成一个document对象
                        Element root=doc.getRootElement();//获取该对象的根节点
                        text = root.elementByID(propertyID).getText();//获取节点的文本内容
                } catch (DocumentException e) {
                        e.printStackTrace();
                }
                return text;
        }

}

如果是java项目,该xml就直接放在src文件下面

对应的xml内容如下,每个最底层的标签必须有唯一的ID = "frontPathOther"

在别的类中调用只是一句:Global.getProperty("frontPath").toString().trim()//frontPath就是最底层标签的ID名称,大家记住:标签中千万别写成id,应该是ID

<?xml version = "1.0" encoding = "UTF-8"?>
<zony_config>
 <!-- 文件夹比较 -->
 <TwoFolder>
  <frontPath ID = "frontPath">G:\比较\测试别人</frontPath>
  <frontPathOther  ID = "frontPathOther">G:\比较\基准自己</frontPathOther>
  <filepath ID = "filepath">E:\查询资料\制作小工具\a.html</filepath><!-- 比较结果的文件路径 -->
 </TwoFolder>
    <!-- 批量修改文件名称 -->
    <UpdatFileName>
     <!-- 该文件夹下直接是文件 -->
     <!-- D:\All documents\我的文档\My Pictures\人\c1-100 c -->
     <Folderpath ID ="Folderpath">D:\All documents\我的文档\My Pictures\风景\b1-b100</Folderpath>
     <NewFileName ID ="NewFileName">b</NewFileName>
     <prefix ID ="prefix">true</prefix><!-- true表示文件名称是:NewFileName+数字,反之是:数字+NewFileName-->
     
 </UpdatFileName> 
</zony_config>

给大家提供一些java的参数,这些都可以在jdk的API中找到:

java.version------------------------Java 运行时环境版本
java.vendor-------------------------Java 运行时环境供应商
java.vendor.url---------------------Java 供应商的 URL
java.home---------------------------Java 安装目录
java.vm.specification.version-------Java 虚拟机规范版本
java.vm.specification.vendor--------Java 虚拟机规范供应商
java.vm.specification.name----------Java 虚拟机规范名称
java.vm.version---------------------Java 虚拟机实现版本
java.vm.vendor----------------------Java 虚拟机实现供应商
java.vm.name------------------------Java 虚拟机实现名称
java.specification.version----------Java 运行时环境规范版本
java.specification.vendor-----------Java 运行时环境规范供应商
java.specification.name-------------Java 运行时环境规范名称
java.class.version------------------Java 类格式版本号
java.class.path---------------------Java 类路径
java.library.path-------------------加载库时搜索的路径列表
java.io.tmpdir----------------------默认的临时文件路径
java.compiler-----------------------要使用的 JIT 编译器的名称
java.ext.dirs-----------------------一个或多个扩展目录的路径
os.name-----------------------------操作系统的名称
os.arch-----------------------------操作系统的架构
os.version--------------------------操作系统的版本
file.separator----------------------文件分隔符(在 UNIX 系统中是“/”)
path.separator----------------------路径分隔符(在 UNIX 系统中是“:”)
line.separator----------------------行分隔符(在 UNIX 系统中是“/n”)
user.name---------------------------用户的账户名称
user.home---------------------------用户的主目录
user.dir----------------------------用户的当前工作目录

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值