`
xy0792
  • 浏览: 90052 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

懒人配置动特殊数据权限,dom4j解析元数据

 
阅读更多

dom4j下载:http://sourceforge.net/projects/dom4j/files/latest/download?source=files

上一篇要配置特殊数据权限

http://xy0792.iteye.com/blog/1592637

需要一直找单据全路径和bosType

<special-data-permission>
            <name>com.kingdee.eas.fi.gl.app.Voucher</name>
            <type>2652E01E</type>
 </special-data-permission>

 

如果单据很多,就写一个代码处理,读取实体文件,以下是读取文件,不读取分录,不解析基础资料,只对单据做特殊数据权限,需要导入dom4j,解析元数据。

import java.io.File;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

public class Main {

	/**
	 * @param args
	 * @throws DocumentException
	 */
	public static void main(String[] args) throws DocumentException {
		File f = new File(
				"E:\\workspace\\Shine\\metadata\\com\\kingdee\\eas\\shine");
		List<File> lstFiles = lstFiles(f, null);
		SAXReader reader = new SAXReader();

		for (Iterator iterator = lstFiles.iterator(); iterator.hasNext();) {
			File file = (File) iterator.next();
			Document xmlDoc = reader.read(file);
			Element root = xmlDoc.getRootElement();
			String strpackage = root.element("package").getData().toString();
			if (strpackage.indexOf("basedata") <= 0) {
				String fullName = strpackage + "."
						+ root.element("name").getData().toString();
				String bosType = root.element("bosType").getData().toString();
				System.out.println("\t\t<special-data-permission>");
				System.out.println("\t\t<name>" + fullName + "</name>");
				System.out.println("\t\t<type>" + bosType + "</type>");
				System.out.println("\t\t</special-data-permission>");
			}
		}
	}

	public static List<File> lstFiles(File f, List<File> fs) {
		if (fs == null) {
			fs = new ArrayList<File>();
		}
		if (f.isDirectory()) {
			File[] files = f.listFiles();
			if (files != null) {
				String lastName = null;
				for (int i = 0; i < files.length; i++) {
					File file = files[i];
					if (file.isDirectory()) {
						lstFiles(files[i], fs);
					} else {
						String name = file.getName();
						if (name.endsWith(".entity")) {
							name = name.substring(0, name.indexOf("."));
							if (lastName != null) {
								if (!name.startsWith(lastName)) {
									fs.add(file);
									lastName = name;
								}
							} else {
								fs.add(file);
								lastName = name;
							}

						}
					}
				}
			}
		} else {
			String name = f.getName();
			if (name.endsWith(".entity")) {
				fs.add(f);
			}
		}
		return fs;
	}
}
 
分享到:
评论

相关推荐

    C2939-C7M03-3921J0S(SP1)凯立德 懒人包

    4. **版本信息**: C2939-C7M03-3921J0S SP1,这一版本号表示这是一个经过特殊优化的版本,包含了一些额外的功能和支持。 5. **数据来源**: 一体机,表明这个懒人包是为某种一体化设备定制的。 6. **是否可用**: ...

    php懒人函数 自动添加数据

    这两个函数的设计目的是为了自动化处理从表单POST或GET数据到数据库操作的过程,减少手动处理数据格式化和验证的工作量。 首先,`autoInsert()` 函数接受三个参数:`$table`(表名),`$arr`(字段库)和`$method`(表单...

    伟geigei懒人配置.conf

    伟geigei懒人配置.conf

    lua 懒人精灵懒人精灵懒人精灵懒人精灵

    懒人精灵懒人精灵懒人精灵懒人精灵懒人精灵懒人精灵

    懒人精灵源码懒人精灵源码懒人精灵源码懒人精灵源码

    【标题】懒人精灵源码 懒人精灵源码是一个重要的软件或插件项目,它可能涉及编程语言、软件工程、自动化工具等多个IT领域的知识点。从"懒人精灵"这个名字可以推测,它可能是为了简化用户操作,提高效率而设计的一款...

    DSA黃金版已O懒人包 数据更新至2013年3月8日

    "DSA黃金版已O懒人包"指的是该软件的一个特别版本,可能是由社区或者第三方开发者优化后的版本,通常这类“懒人包”会包含所有必要的组件和最新的数据,使得用户可以一键安装,无需额外配置。 该描述提到"数据更新...

    lnmp懒人包

    "lnmp懒人包"是为简化这个组合的安装和配置过程而设计的工具,适合初学者或者希望快速搭建环境的开发者。下面将详细解释这个懒人包中的每个组件及其作用。 **Nginx** Nginx是一款高性能的HTTP和反向代理服务器,以...

    jQuery模仿懒人图库网站菜单demo

    **jQuery模仿懒人图库网站菜单demo** 这个项目是一个基于jQuery的前端开发示例,它旨在模拟懒人图库网站的菜单交互效果。通过学习和分析这个demo,开发者可以了解到如何利用jQuery实现动态加载、响应式设计以及用户...

    同步和更新大佬脚本库,更新懒人配置.zip

    同步和更新大佬脚本库,更新懒人配置.zip

    swift-结合jsonmode根据json数据直接生成解析后的文件(懒人必备)

    本篇文章将深入探讨如何利用Swift结合第三方库`jsonmode`,根据JSON数据直接生成解析后的Swift模型文件,极大地简化了开发过程,特别是对于懒人开发者来说,这是一个非常实用的工具。 首先,我们来了解一下`...

    懒人凌阳硬件初始配置软件

    "懒人凌阳硬件初始配置软件"是一个专为初学者设计的工具,它简化了凌阳单片机的硬件配置过程,使用户能够快速上手并进行实际操作。 首先,我们来深入了解一下凌阳16位单片机。凌阳科技(Sunplus Technology)是一家...

    rime中州韵小狼毫 懒人配置包 m10.zip

    这是rime中州韵小狼毫输入法的的一个懒人配置包,配置了五笔・拼音输入方案和easeyEnglish输入方案。所配置的 translator 翻译器和 Filter 滤镜功能,包含了截止到教程 rime中州韵小狼毫 敏感词脱敏滤镜(含)的所有...

    一个复杂的懒人原生css3动画效果

    效果描述: 之前给大家介绍过好多种简单的css3原生动画 前几天正好看到手机APP上有这样一个闹钟提醒的动画效果很不错 ... 看似比较难,只要耐心分析,将七八个动画叠加起来后就可以看到复杂的效果 ...

    LoonExampleConfig:懒人示例配置

    Loon脚本API手册阅读此文档需要了解基础JavaScript语法和正则表达式如果您有兴趣学习JavaScript的教程可以移步至:如果您有兴趣学习正则表达式的内容可以移步至:本人非Loon作者,在官方文档没有出来之前,本API手册...

    JSP懒人书屋(后台程序)

    《JSP懒人书屋(后台程序)》项目是一个针对初学者设计的实践教程,旨在帮助刚刚接触JSP技术的学员快速理解并掌握JSP在后台处理中的应用。在这个项目中,我们将深入探讨如何利用JSP构建一个简单的在线图书管理系统,...

    凯立德2012夏季零售懒人包下载地址

    4. **地图数据丰富**:凯立德地图覆盖了全国各大城市及乡村地区,提供了详尽的道路信息、兴趣点(POI)数据等,满足用户在不同场景下的导航需求。 #### 三、安装路径说明 在给定的部分内容中,列出了多个存储路径...

    懒人flash制作SWFText

    《懒人Flash制作SWFText详解》 在数字媒体领域,Flash是一款广泛应用于动画创作、交互设计的强大工具,尤其在创建动态文本效果方面,SWFText更是其中的佼佼者。SWFText是一款专为“懒人”设计的Flash文本动画制作...

    懒人许工具.7z懒人许工具

    4. **懒人许2010**、**懒人许2007-2009**、**懒人许2004-2006**:这些可能是针对不同CAD软件版本的插件包。每个版本可能对应不同的CAD平台,例如AutoCAD的某个特定版本。这意味着“懒人许工具”具有良好的兼容性,...

    Vmware群晖DS918+6.2-25426(懒人包)

    DS918+是群晖的一款高性能四盘位NAS服务器,支持硬件加速解码和编码,适用于需要大量数据存储和处理的场景。 虚拟机(Virtual Machine, VM)是一种软件技术,它可以在一台物理计算机上模拟出多台独立的计算机系统,...

    按键精灵的懒人插件

    按键精灵的懒人插件

Global site tag (gtag.js) - Google Analytics