`

.xml正向反向取值(之六)

    博客分类:
  • java
 
阅读更多
FileListener类,续:
private void println() throws IOException
	{
		String line;
		StringBuffer buf = new StringBuffer();
		
		FileInputStream in = new FileInputStream(enumerateFiles.get(currentEnumFilePath).getEnumFile());
		
		java.io.BufferedReader reader = new java.io.BufferedReader(new java.io.InputStreamReader(in));
		
		while((line = reader.readLine()) != null)
		{
			buf.append(line).append("\n");
		}
		
		logger.info(buf.toString());
	}
	
	public Properties getProperties()
	{
		return prop;
	}
	
	public Element getElement()
	{
		return element;
	}

	public boolean isFileFlag() {
		return fileFlag;
	}

	public String getFileName()
	{
		return file.getName();
	}
	
    public String getPath()
    {
        return file.getPath();
    }
    
    public String getTransferValue(String key)
    {	
    	//由 Type + OriginallyValue + value 或 Type + TransferAttr + value组成。 
    	String[] keys = key.split("\\|\\|");
    	//没有传Value 是返回null
    	if (keys.length == 2) return null;
    	
    	String transferValue=keys[2];
    	
    	XMLParserHelper helper = new XMLParserHelper();
    	for(String s : enumerateFiles.keySet()){
    		Element TransferAttrs = helper.getElement(enumerateFiles.get(s).getEnumElement(),null,keys[0]);
        	if (TransferAttrs == null)
        	{
    	    	//logger.warn("Cannot found the xml properties [" + keys[0] + "]");
    	    	//return keys[2];
        		continue;
        	}
        	
        	for(int i = 0; i < TransferAttrs.getChildCount(); i++)
        	{
        		Element transfer = TransferAttrs.getElement(i);
        		
        		if (transfer == null) continue;
        		
        		String orig_str = helper.getText(transfer, XMLParserHelper.ORIGINALL_VALUE);
        		String tran_str = helper.getText(transfer, XMLParserHelper.TRANSFER_VALUE);
        		
        		if (XMLParserHelper.ORIGINALL_VALUE.equals(keys[1]) && keys[2].equals(orig_str))
        		{
        			transferValue=tran_str;
        			return transferValue;
        		}
        		else if (XMLParserHelper.TRANSFER_VALUE.equals(keys[1]) && keys[2].equals(tran_str))
        		{
        			transferValue=orig_str;
        			return transferValue;
        		}
        	}
    	}
    	logger.warn("Cannot found the value ["+keys[2]+ "] by node[" + keys[0] + " in xml file]");
    	return transferValue;
    }
    //设置所有的枚举文件的信息
    public String setEnumInfo(String filePath){
		//是否是ListenerFile5的值:/var/mqsi/config/enumerateTemplet.xml
		if(PatternEnumerateFile.isXMLFile(filePath)){
			//var-->config目录下的所有枚举文件     初始化enumPaths
			if(enumPaths.size()<=0){
				enumPaths=PatternEnumerateFile.getEnumPaths(filePath);
				for(String s : enumPaths){
					enumerateFiles.put(s, new EnumerateFile(s));
					//设置当前枚举路径
					currentEnumFilePath=s;
					//设置枚举根节点
					loadXml();
				}
			}
			if(enumPaths!=null&&enumPaths.size()>0){
				currentEnumFilePath=enumPaths.get(0);
				filePath=enumPaths.get(0);
			}
		}
		return filePath;
    }
}
分享到:
评论

相关推荐

    opencv的各种haarcascade.xml文件

    haarcascades\haarcascade_eye.xml haarcascades\haarcascade_eye_tree_eyeglasses.xml haarcascades\haarcascade_frontalface_alt.xml haarcascades\haarcascade_frontalface_alt2.xml haarcascades\haar...

    License.xml 破解码

    License.xml 破解码License.xml 破解码License.xml 破解码License.xml 破解码License.xml 破解码License.xml 破解码License.xml 破解码License.xml 破解码License.xml 破解码License.xml 破解码License.xml 破解码...

    AndroidManifest.xml反编译工具

    在Android应用开发中,`AndroidManifest.xml`是一个至关重要的文件,它包含了应用程序的基本配置和元数据,如应用的包名、所需权限、启动活动、服务、接收器等。本话题将详细探讨`AndroidManifest.xml`的反编译工具...

    javax.xml.bind.jar

    javax.xml.bind.jar

    有道单词本.xml 有道单词本.xml 有道单词本.xml

    有道单词本.xml 可以导入到有道单词里面

    hibernate.cfg.xml

    hibernate.cfg.xml hibernate框架的配置文件

    javax.xml.ws.Service 报错需要的包

    在Java开发中,`javax.xml.ws.Service` 是一个核心组件,属于Java API for XML Web Services (JAX-WS)的一部分,用于创建客户端和服务端的Web服务代理。报错通常表明缺少必要的依赖包,这可能会影响到程序的正常运行...

    javax.xml.stream_1.0.1.v201004272200.jar

    javax.xml.stream_1.0.1.v201004272200.jar

    人脸识别需要的haarcascade_frontalface_default.xml文件

    haarcascade_frontalface_default.xml 和 haarcascade_eye.xml 文件是OpenCV库中用于人脸检测和眼睛检测的重要数据结构。 OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库,...

    javax.xml.bind.jar 包

    在集成阿里云移动推送时,部署到服务器的时候遇到了java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter 错误,产生原因是缺少javax.xml.bind.DatatypeConverter

    提取apk文件中的AndroidManifest.XML

    AndroidManifest.xml是APK的核心组件之一,它提供了应用的基本配置信息,包括应用名称、版本、所需权限、服务、活动、广播接收器等。当我们需要深入分析或修改一个APK时,提取AndroidManifest.xml就显得尤为重要。本...

    codetemplates.xml

    codetemplates.xml

    haarcascade_eye.xml

    haarcascade_eye.xml

    lang_zh_cn.xml

    foxit reader的中文包lang_zh_cn.xml。

    PluginManagerPlugins.xml文件

    解决Notepad++ Plugin Manager无法加载插件的方法。把PluginManagerPlugins.xml放在这个目录下C:\Users\你主机系统用户\AppData\Roaming\Notepad++\plugins\config 重新打开软件

    maven archetype-catalog.xml 下载

    `archetype-catalog.xml`是Maven骨架目录的一个元数据文件,它包含了所有可用的骨架信息。 `archetype-catalog.xml`文件的作用在于,它是一个骨架仓库的目录清单,列出了该仓库中所有的Maven骨架。这些骨架可以被...

    apns-conf.xml

    网络上很多的APN文件,看了许多,没有带电信参数的,花费一晚上的时间,通宵写成了这个,确切的说是改成了这个集成了中国电信相关参数的apns-conf.xml文件,借阅请说明出处,谢谢

    Maven原版settings.xml配置文件(下载)

    Maven原版settings.xml配置文件,根据个人需要,可以打开对应注释或替换相关阿里云镜像或远程仓库地址即可使用。

    maven pom.xml 动态读取变量值插件

    该jar包功能,可以在一个properties文件里面定义jdbc.url=${url},在另一个properties文件定义具体的值,通过该jar可以获取到哪个具体的值。下载之后,自行安装到本地...具体pom.xml配置使用可以参考网络其他博文,谢谢

    main-menu.xml

    mysqlWorkbench 汉化

Global site tag (gtag.js) - Google Analytics