⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 queryxml.java

📁 java阿里巴巴代码
💻 JAVA
字号:
package com.saas.sys.dbm;

import org.apache.xerces.parsers.DOMParser;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.w3c.dom.Node;

import com.saas.sys.log.Logger;

public class QueryXML {
	Logger log  = new Logger(this);
	private String xmlFilePath;
	private String tableName;
	private String queryName;
	public String getQueryTableXML()
	{
		String queryStr = "";
		try 
		{ 
			String XMLFileName= xmlFilePath;
			DOMParser parser=new DOMParser();
		   	parser.parse(XMLFileName);
		    Document document=parser.getDocument();
		    NodeList query=document.getElementsByTagName("query");//获取query
		    boolean bTableFound = false;
		    boolean bQueryFound = false;
		    boolean bQueryInfoFound = false;
		    for (int i = 0;i<query.getLength();i++)
		    {	
		    	Node table = query.item(i);//获取query下的子节点
		    	for(Node node=table.getFirstChild();node!=null;node=node.getNextSibling())
		    	{
		    		if(node.getNodeType()==Node.ELEMENT_NODE)
		    		{
		    			if(node.getNodeName().equals("table"))
		    			{
		    				 NodeList tableBody = table.getChildNodes();
		    				 for (int j = 0;j<tableBody.getLength();j++)
		    				 {
		    					 Node queryList = tableBody.item(j);
			    				 for(Node querynode=queryList.getFirstChild();querynode!=null;querynode=querynode.getNextSibling())
			    				 {
			    					 if(querynode.getNodeType()==Node.ELEMENT_NODE)
			    					 {
			    						 if(querynode.getNodeName().equals("name"))
			    			    		{
			    							if (!bTableFound)
			    							{
				    							 if (querynode.getFirstChild().getNodeValue().equalsIgnoreCase(this.tableName))
				    							 {
				    								bTableFound =true;
				    								NodeList queryBody = queryList.getChildNodes();
				    								for (int k = 0;k<queryBody.getLength();k++)
				    								{
				    									 Node queryString = queryBody.item(k);
				    									 for(Node Stringnode=queryString.getFirstChild();Stringnode!=null;Stringnode=Stringnode.getNextSibling())
				    				    				 {
				    										 if(Stringnode.getNodeType()==Node.ELEMENT_NODE)
				    				    					 {
				    											if (!bQueryInfoFound)
				    											{
					    											if(Stringnode.getNodeName().equals("qname"))
					    					    			    	{	
					    												if (Stringnode.getFirstChild().getNodeValue().equalsIgnoreCase(this.queryName))
					    				    							{
					    													bQueryFound = true;
					    				    							}					    												
					    					    			    	}
					    											
					    											if (bQueryFound && !bQueryInfoFound)
					    											{
				    													if(Stringnode.getNodeName().equals("qstring"))
				    				    								{
				    														queryStr = Stringnode.getFirstChild().getNodeValue();
				    														bQueryInfoFound = true;
				    														return queryStr;
				    				    								}	
					    											}
				    											}
				    				    					 }				    										  
				    				    				 }
				    								}
			    							 	}
			    							}			    							
			    			    		}
			    					 } 
			    				 }
		    				 }
		    			}
		    		} 
		    	}
		    }
		}
		catch(Exception e)
		{
		    log.LOG_INFO("解析saasQuery出错:"+e);
		}
		return  queryStr;
	}
	public void setXmlFilePath(String path)
	{
		this.xmlFilePath = path;
	}
	public void setTableName(String tableName)
	{
		this.tableName = tableName;
	}
	public void setQueryName(String queryName)
	{
		this.queryName = queryName;
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -