我是靠谱客的博主 冷艳钢铁侠,最近开发中收集的这篇文章主要介绍生成和解析xml的利器,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

import groovy.xml.MarkupBuilder
//该文件用于生成本地xml配置文件
def toDimens(String filePath,String targetPath) {
def file = new File(targetPath)
if (file.exists())
file.delete()
def writer = file.newPrintWriter()
def xml = new MarkupBuilder(writer)
//生成xml文件
writer.append('<?xml version="1.0" encoding="utf-8"?> n')
xml.resources {
new File(filePath).eachLine{line->
bits = line.tokenize("=")
try {
dimen(name:bits[0].trim(),bits[1].trim())


} catch (Exception e) {
//exceptions pah!
}
}
}
writer.flush()
//控制台输出文件信息
println writer.toString()
writer.close()
}



java调用groovy:

/**

* 生成xml文件
*
* @param filePath
* 源文件
* @param targetPath
* 生成文件路径
* @param type
* 生成配置文件的类型
*/
public static void pro2xml(String filePath, String targetPath, int type) {
// System.out.println("============生成xml文件===========");
ClassLoader parent = Utils.class.getClassLoader();
GroovyClassLoader loader = new GroovyClassLoader(parent);
try {
GroovyObject groovyObject = null;
File tempFile = new File(Constants.GROOVY_PATH);
// 加载类S
Class<?> groovyClass = loader.parseClass(tempFile);
groovyObject = (GroovyObject) groovyClass.newInstance();
System.out.println("-> " + groovyObject.getClass());
if (type == Constants.METHOD_TODIMENS) {
groovyObject.invokeMethod("toDimens", new Object[] { filePath, targetPath });
} else if (type == Constants.METHOD_TOARRAY) {
groovyObject.invokeMethod("toArray", new Object[] { filePath, targetPath });
} else {
groovyObject.invokeMethod("toString", new Object[] { filePath, targetPath });
}
// 执行 groovy方法,生成xml配置文件
GroovyShell gShell = new GroovyShell(parent);
gShell.setVariable("filePath", filePath);
gShell.setVariable("targetPath", targetPath);
gShell.evaluate(tempFile);
} catch (Exception e) {
e.printStackTrace();
} finally {
// 删除properties文件
// File file = new File(filePath);
// if (file.exists()) {
// file.delete();
// }
}

}

最后

以上就是冷艳钢铁侠为你收集整理的生成和解析xml的利器的全部内容,希望文章能够帮你解决生成和解析xml的利器所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部