java - XML/HTML Deminify Program -


i writing java program deminify html/xml file single line multiple lines (structured way). method simple. using regex split single string multiple strings , append new line (\n) each of substring. program not able split single string @ all. any1 me this? below program:

package deminifier;  import java.io.bufferedreader; import java.io.file; import java.io.fileinputstream; import java.io.filenotfoundexception; import java.io.filereader; import java.io.inputstreamreader;  public class deminifier {      public static void main(string[] args) {          deminifier demo = new deminifier ();         demo.execute();     }      public void execute(){         bufferedreader br = null;         string currentline;         try {             br = new bufferedreader(new filereader("myfile.txt"));           while((currentline = br.readline())!= null){             system.out.println("input text follows:");             system.out.println(currentline);             deminifier demo = new deminifier();             system.out.println("output formatted text follows:");             demo.todeminify(currentline);         }         } catch (exception e) {             // todo auto-generated catch block             e.printstacktrace();         }     }     private void todeminify(string currentline) {         string linetoparse = currentline;         string returnstring =null;         string[] splitstring = (linetoparse.split("</([a-z][a-z0-9_]*)\b[^>]*>"));         system.out.println("number of lines:"+splitstring.length);         (string s : splitstring) {             system.out.println(s+"\n");         }      } } 

can me in matter? why string array "split string" returning "1" array element? have tried regex expression , works in 1 of application (is able identify end tags).

one problem code you're doing split on ending tag, means not present in of items in returned array. want use replaceall. regex looks bit suspect, it's hard tell without being able see example input file.

you can adapt following:

pattern p = pattern.compile("</[^>]+>"); while((currentline = br.readline())!= null){     system.out.println("input text follows:");     system.out.println(currentline);     system.out.println("output formatted text follows:");     matcher m = p.matcher(currentline);     system.out.println(m.replaceall("$0\n")); } 

also, in original code instantiating deminifier inside of loop, you'd want move outside.


Comments

Popular posts from this blog

get url and add instance to a model with prefilled foreign key :django admin -

android - Keyboard hides my half of edit-text and button below it even in scroll view -

css - Make div keyboard-scrollable in jQuery Mobile? -