Monday 15 August 2011

java - if condition not working with || operator -



java - if condition not working with || operator -

i have written java code fetch node xml tag , based on node ,it should deleted.its working fine cases same status , not working cases.i have been trying find solution unable to. plz help me guys.below code have written

import java.io.fileinputstream; import java.io.fileoutputstream; import javax.xml.parsers.documentbuilder; import javax.xml.parsers.documentbuilderfactory; import javax.xml.transform.transformer; import javax.xml.transform.transformerfactory; import javax.xml.transform.dom.domsource; import javax.xml.transform.stream.streamresult; import org.w3c.dom.document; import org.w3c.dom.node; import org.w3c.dom.nodelist; public class cl_rgtis_cremas_dwm_filt { /** * @param args */ public static void main(string[] args) { cl_rgtis_cremas_dwm_filt domparse=new cl_rgtis_cremas_dwm_filt(); seek { fileinputstream in=new fileinputstream("c:/users/home/downloads/test1.xml"); fileoutputstream out = new fileoutputstream("c:/users/home/downloads/out.xml"); domparse.execute(in,out); } catch(exception e) { system.out.println("catch exception"+e.getmessage()); } } public void execute(fileinputstream in,fileoutputstream out) { seek { transformerfactory transformerfactory=transformerfactory.newinstance(); transformer transformer=transformerfactory.newtransformer(); documentbuilderfactory factory=documentbuilderfactory.newinstance(); //ignore whitespace within document factory.setignoringelementcontentwhitespace(true); /*parser aware of name space*/ factory.setnamespaceaware(true); documentbuilder builderel=factory.newdocumentbuilder(); document docin=builderel.parse(in); node root, headeritem = null,childitem=null,childitem1=null; nodelist id, headernodes = null,childnodes=null,childnodes1=null; id = docin.getelementsbytagname("idoc"); (int g =0; g< id.getlength(); g++) { root = id.item(g); headernodes = root.getchildnodes(); for(int j =0; j<headernodes.getlength(); j++) { headeritem = headernodes.item(j); childnodes=headeritem.getchildnodes(); for(int k=0;k<childnodes.getlength();k++) { childitem=childnodes.item(k); childnodes1=childitem.getchildnodes(); if((childitem.getnodename().equalsignorecase("e1lfb1m"))||(childitem.getnodename().equalsignorecase("e1lfbkm"))) { childitem.getparentnode().removechild(childitem); system.out.println("in if stmt"); } } } } domsource dom = new domsource(docin); streamresult result = new streamresult(out); transformer.transform(dom, result); } catch(exception e) { system.out.println("execute method"+e.getmessage()); } } }

in k-loop code removes kth childitem. haven't faintest idea, whether nodelist backed actual dom node. might seek decrementing k, not inadvertently skip next item on for's k++.

in every case k < childnodes.getlength() iterate 1 less, when k decremented.

childitem.getparentnode().removechild(childitem); --k;

of course of study more portable, safe solution should better; collecting within loop list of items deleted.

java xml

No comments:

Post a Comment