pathmatch.java
来自「这是一个法律事务所系统源码」· Java 代码 · 共 55 行
JAVA
55 行
package org.apache.tomcat.util.xml;import java.beans.*;import java.io.*;import java.io.IOException;import java.lang.reflect.*;import java.util.*;import java.util.StringTokenizer;import org.xml.sax.InputSource;import org.xml.sax.SAXException;import org.xml.sax.*;import org.xml.sax.helpers.*;import org.w3c.dom.*;/** micro-XPath match - match a path */class PathMatch implements XmlMatch { String names[]=new String[6]; int pos=0; public PathMatch( String tagName ) { StringTokenizer st=new StringTokenizer( tagName, "/" ); while( st.hasMoreTokens() ) { names[pos]=st.nextToken(); pos++; } } public boolean match( SaxContext ctx ) { int depth=ctx.getTagCount(); for( int j=pos-1; j>=0; j--) { if( depth<1) { // System.out.println("Pattern too long "); return false; } String tag=ctx.getTag(depth-1); if( ! names[j].equals( tag ) ) { // System.out.println("XXX" + names[j] + " " + tag); return false; } depth--; } return true; } public String toString() { return "Tag("+names+")"; }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?