Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Chriss Miller on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Help me to test

Status
Not open for further replies.

zhuzhengyu

Technical User
Jul 21, 2000
19
CN
I wrote a small tool,html parser.I spent serveral hours in coding ,so it must be clumsy.I hope for more advice.<br><br>the tool is programmed by java and could be used in NT(jdk1.2)<br>&nbsp;<br>the tool include:<br><br>in the directory:&quot;.\\check\\&quot;<br><br>1.config file &quot;tag.des&quot; describe the pare of tag(must be pares ,such as&lt;style&gt;&lt;/style&gt;)<br><br>2. 3 java classes:<br>(1)position.java:(x,y axial, means row and column number,but I have not used the column position)<br>package check;<br><br>public class position {<br><br>&nbsp;&nbsp;public int row=0;<br>&nbsp;&nbsp;public int column=0;<br><br>&nbsp;&nbsp;public position(int r,int c) {<br>&nbsp;&nbsp;&nbsp;&nbsp;row=r;<br>&nbsp;&nbsp;&nbsp;&nbsp;column=c;<br>&nbsp;&nbsp;}<br>}<br><br>(2)tag.java:(record the position)<br>package check;<br><br>public class tag {<br><br>&nbsp;&nbsp;private int pushed=0;<br>&nbsp;&nbsp;private int poped=0;<br>&nbsp;&nbsp;private position posPush=null;<br>&nbsp;&nbsp;private position posPop=null;<br>&nbsp;&nbsp;private String tagName=&quot;&quot;;<br><br>&nbsp;&nbsp;public tag(String tag) {<br>&nbsp;&nbsp;&nbsp;&nbsp;tagName=tag;<br>&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;public String getTag() {<br>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;&nbsp;tagName;<br>&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;public int getPushed() {<br>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;&nbsp;pushed;<br>&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;public int getPophed() {<br>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;&nbsp;poped;<br>&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;public int getCountd() {<br>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;&nbsp;(pushed-poped);<br>&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;public position getPushPos() {<br>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;&nbsp;posPush;<br>&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;public position getPopPos() {<br>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;&nbsp;posPop;<br>&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;public void push(position p) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pushed++;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;posPush=p;<br>&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;public void pop(position p) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;poped++;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;posPop=p;<br>&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;public boolean isHead(String stoken) {<br>&nbsp;&nbsp;&nbsp;&nbsp;stoken=stoken.toLowerCase();<br>&nbsp;&nbsp;&nbsp;&nbsp;if((stoken.startsWith(&quot;&lt;&quot;+tagName)==true)&&(stoken.endsWith(&quot;&gt;&quot;)==true)){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return true;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return false;<br>&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;public boolean isTail(String stoken) {<br>&nbsp;&nbsp;&nbsp;&nbsp;if((stoken.startsWith(&quot;&lt;/&quot;)==true)&&(stoken.endsWith(&quot;&gt;&quot;)==true)&&(stoken.toLowerCase().indexOf(tagName)&gt;0)){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return true;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return false;<br>&nbsp;&nbsp;}<br><br>}<br><br>(3)html.java(has 3 steps:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a).use paseFile() to read in the file to be checked)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b).use writeFile() to write out the file being arranged &quot;out.html&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c).use check() to check the &quot;out.html&quot; and tell the position error occurs<br><br>package check;<br>import java.awt.*;<br>import java.io.*;<br>import java.util.*;<br><br>public class html extends Vector{<br><br>&nbsp;&nbsp;private Vector htmlTag=null;<br>&nbsp;&nbsp;private Stack stack=null;<br>&nbsp;&nbsp;private String string=&quot;&quot;,headStr=&quot;&quot;,tailStr=&quot;&quot;,between=&quot;&quot;;<br><br>&nbsp;&nbsp;private int tab=0,lastTab=0;<br><br>&nbsp;&nbsp;public html() {<br>&nbsp;&nbsp;&nbsp;&nbsp;String file=&quot;.\\check\\tag.des&quot;;<br>&nbsp;&nbsp;&nbsp;&nbsp;try{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String[] tempStr=new String[100];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int count=0;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BufferedReader in=new BufferedReader(new FileReader(file));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String line=&quot;&quot;;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while((line=in.readLine())!=null){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;line=line.substring(0,line.indexOf(&quot;;&quot;));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tempStr[count]=line;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;count++;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;htmlTag=new Vector(count+1);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(int i=0;i&lt;count;i++)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;htmlTag.addElement(new tag(tempStr<i>));<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stack=new Stack();<br><br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;catch(Exception error){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.err.print(&quot;error&quot;);<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;private boolean isHead(String str){<br> &nbsp;&nbsp;for (int i=0;i&lt;htmlTag.size();i++){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tag temp=(tag)htmlTag.elementAt(i);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (temp.isHead(str)==true){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return true;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;return false;<br>&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;private boolean isTail(String str){<br> &nbsp;&nbsp;for (int i=0;i&lt;htmlTag.size();i++){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tag temp=(tag)htmlTag.elementAt(i);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (temp.isTail(str)==true){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return true;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;return false;<br>&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;public void parseFile(String file){<br>&nbsp;&nbsp;&nbsp;&nbsp;try{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BufferedReader in=new BufferedReader(new FileReader(file));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String line=&quot;&quot;;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while((line=in.readLine())!=null){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;line=replace(line,&quot;\t&quot;,&quot; &quot;);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String tempHead=&quot;&quot;,tempTail=&quot;&quot;;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int pos=0;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while((pos=line.indexOf(&quot; &quot;))&gt;0){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tempHead=line.substring(0,pos);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tempTail=line.substring(pos+1).trim();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;line=tempHead+&quot;\r&quot;+tempTail;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;line=replace(line,&quot;\r&quot;,&quot; &quot;);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(line!=&quot;&quot;)string+=line;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String token=&quot;&quot;;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String tempStr=&quot;&quot;;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while((token=nextToken())!=&quot;&quot;){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tempStr=headStr;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(isHead(token)==true){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tempStr+=&quot;\n&quot;;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(lastTab==1)tab++;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(int i=0;i&lt;tab;i++){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tempStr+=&quot;&nbsp;&nbsp;&nbsp;&nbsp;&quot;;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lastTab=1;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tempStr+=token;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else if(isTail(token)==true){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(lastTab==0)tab--;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(tab&lt;0)tab=0;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tempStr+=&quot;\n&quot;;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(int i=0;i&lt;tab;i++){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tempStr+=&quot;&nbsp;&nbsp;&nbsp;&nbsp;&quot;;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lastTab=0;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tempStr+=token;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tempStr+=&quot;\n&quot;;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(int i=0;i&lt;tab;i++){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tempStr+=&quot;&nbsp;&nbsp;&nbsp;&nbsp;&quot;;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tempStr+=token;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;headStr=tempStr;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string=headStr;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.print(string);<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;catch(Exception error){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.err.print(&quot;error&quot;);<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;public void writeFile(){<br>&nbsp;&nbsp;&nbsp;&nbsp;try{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BufferedWriter out=new BufferedWriter(new FileWriter(&quot;out.html&quot;));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.write(string);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.flush();<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;catch(Exception error){<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;}<br><br>&nbsp;public void check(){<br><br>&nbsp;&nbsp;&nbsp;&nbsp;try{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BufferedWriter out=new BufferedWriter(new FileWriter(&quot;out.err&quot;));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String err=&quot;&quot;;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String token=&quot;&quot;;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int count=0;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while((token=nextToken())!=&quot;&quot;){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;count++;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;position pos=new position(count,1);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(isHead(token)){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tag temp=new tag(token);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;temp.push(pos);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stack.push(temp);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else if(isTail(token)){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tag temp=(tag)stack.pop();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(token.indexOf(temp.getTag())&lt;=0)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;err+=&quot;head:&quot;+temp.getTag()+&quot;!=tail:&quot;+token+&quot;&nbsp;&nbsp;&quot;+&quot;&nbsp;&nbsp;&nbsp;&nbsp;position:push(&quot;+temp.getPushPos().row+&quot;,&quot;+temp.getPushPos().column+&quot;)\n&quot;;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(stack.isEmpty()==false){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(int i=0;i&lt;stack.size();i++){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tag popTemp=(tag)stack.pop();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;err+=&quot;head has no matched tail--&quot;+popTemp.getTag()+&quot;--\n&quot;;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.write(err);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.flush();<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;catch(Exception error){<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;private String nextToken(){<br><br>&nbsp;&nbsp;&nbsp;&nbsp;int begin=string.indexOf(&quot;&lt;&quot;);<br>&nbsp;&nbsp;&nbsp;&nbsp;if(begin&lt;0)return &quot;&quot;;<br>&nbsp;&nbsp;&nbsp;&nbsp;int end=string.indexOf(&quot;&gt;&quot;);<br>&nbsp;&nbsp;&nbsp;&nbsp;if(end&lt;0)return &quot;&quot;;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;String strToken=&quot;&lt;&quot;+ string.substring(begin,end+1).substring(1).trim();<br><br>&nbsp;&nbsp;&nbsp;&nbsp;between=string.substring(0,begin);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;between=replace(between,&quot;\t&quot;,&quot; &quot;);<br>&nbsp;&nbsp;&nbsp;&nbsp;String tempHead=&quot;&quot;,tempTail=&quot;&quot;;<br>&nbsp;&nbsp;&nbsp;&nbsp;int pos=0;<br>&nbsp;&nbsp;&nbsp;&nbsp;while((pos=between.indexOf(&quot; &quot;))&gt;0){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tempHead=between.substring(0,pos);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tempTail=between.substring(pos+1).trim();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;between=tempHead+&quot;\r&quot;+tempTail;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;between=replace(between,&quot;\r&quot;,&quot; &quot;);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;headStr+=between;<br>&nbsp;&nbsp;&nbsp;&nbsp;string=string.substring(end+1);<br>&nbsp;&nbsp;&nbsp;&nbsp;tailStr=string;<br>&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;return strToken;<br><br>&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;private String replace(String string,String strOld,String strNew){<br>&nbsp;&nbsp;&nbsp;&nbsp;String newString=&quot;&quot;;<br>&nbsp;&nbsp;&nbsp;&nbsp;int i;<br>&nbsp;&nbsp;&nbsp;&nbsp;while(true){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i=string.indexOf(strOld);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(i&lt;=0)break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;newString=newString+string.substring(0,i)+strNew;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string=string.substring(i+strOld.length());<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;newString=newString+string;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;return newString;<br>&nbsp;&nbsp;}<br><br>}<br><br>3.in the working directory &quot;.&quot;:<br>the test java class test.java:<br>import check.*;<br><br>public class test {<br><br>&nbsp;&nbsp;public test() {<br>&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;public static void main(String[] args) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;html test=new html();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;test.parseFile(&quot;in.html&quot;);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;test.writeFile();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;test.check();<br>&nbsp;&nbsp;}<br>}<br><br>defects:<br>1.I dont kwon how to select a file to be input and output by java<br>2.this procedure must fisrt arrange the input file then check the arranged file<br>3.the code is not elegant, it contains lot of garbage<br><br>but the idea follows what I paste on the forum serveral days ago.<br><br>
 
I've forgot to give the format of &quot;tag.des&quot;:<br>eg:<br><br>html;<br>head;<br>body;<br>tr;<br>td;<br>table;<br>script;<br>select;<br>a;<br>
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top