📄 analysisxpath.java
字号:
/*
* AnalysisXPath.java
*
* Created on 2007年5月11日, 上午12:33
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package XRSystem.Process;
/**
*
* @author 王刚
*/
import java.lang.*;
import java.util.*;
import javax.swing.*;
import XRSystem.Util.XPathNode;
public class AnalysisXPath {
private String XPath;
private ArrayList<String> SplitNode =new ArrayList<String>();
private ArrayList<XPathNode> NodeList = new ArrayList<XPathNode>();
/** Creates a new instance of AnalysisXPath */
public AnalysisXPath(String XPath) {
this.XPath=XPath;
}
public ArrayList<XPathNode> SplitXPath() {
String InputXPath,Temp;
InputXPath = XPath;//InitXPath();
int SplitFlag;
String StepName;
String[] StepArray = InputXPath.split("/");
int TIndex=0;
int[] SplitIndex = new int[StepArray.length+1];
for(int x=0;x<InputXPath.length();x++) {
if (InputXPath.charAt(x)=='/')
SplitIndex[TIndex++]=x;
}
for(int y=0;y<SplitIndex.length;) {
int start=SplitIndex[y];
int end=SplitIndex[y+1];
int length =InputXPath.length();
if(start==length-1) {
//System.out.println("Error");
break;
} else {
Temp=InputXPath.substring(start,end);
if (Temp.equals("/")) {
start=SplitIndex[y+1]+1;
end=SplitIndex[y+2];
SplitFlag=1;
StepName=InputXPath.substring(start,end);
NodeList.add(new XPathNode(SplitFlag,StepName));
y+=1;
} else {
SplitFlag=0;
start=SplitIndex[y]+1;
end=SplitIndex[y+1];
StepName=InputXPath.substring(start,end);
NodeList.add(new XPathNode(SplitFlag,StepName));
}
y++;
}
}
return NodeList;
/*
for(int i=0;i<NodeList.size();i++) {
int m=NodeList.get(i).GetSplitType();
String k=NodeList.get(i).GetStepName();
System.out.println(m+" "+k);
//System.out.println(k);
}*/
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -