xslt - How to read a file in current directory through Java Class in another directory -


i working on linux os.

i facing trouble parsing & transforming xml file though java.

location of java xmltransform.class: /home/apps/source (this path present in classpath) location of xml file (working directory): /home/apps/nk/working/payload.xml

when inside "working directory", invoking xmltransform.class passing xml filename payload.xml getting following error:

xml-22004: (fatal error) error while parsing input xml document (invalid inputsource.). --------- oracle.xml.parser.v2.xmlparseexception: invalid inputsource.     @ oracle.xml.parser.v2.xmlerror.flusherrors1(xmlerror.java:320)     @ oracle.xml.parser.v2.xmlreader.pushxmlreader(xmlreader.java:248)     @ oracle.xml.parser.v2.xmlparser.parse(xmlparser.java:202)     @ oracle.xml.jaxp.jxtransformer.transform(jxtransformer.java:321)     @ transformationengine.main(transformationengine.java:30) 

it clear class not able resolve file name.

please give pointers how can resolve this?

note: invoice_transformer.xsl placed in same directory .class file , class file able read it.

java code:

import javax.xml.transform.*; import java.io.*;  public class transformationengine { public static void main(string[] args){      string payloadfilename = args[0];      string xslfile = "invoice_transformer.xsl";      inputstream = java.lang.classloader.getsystemresourceasstream(xslfile);     inputstream pfis = java.lang.classloader.getsystemresourceasstream(payloadfilename);      try{         transformerfactory tfactory = transformerfactory.newinstance();          transformer transformer = tfactory.newtransformer(new javax.xml.transform.stream.streamsource(is));         transformer.transform(new javax.xml.transform.stream.streamsource(pfis),new javax.xml.transform.stream.streamresult(new fileoutputstream("idmpayload.csv")));      }     catch(exception e){         e.printstacktrace();     } }  } 

getsystemresourceasstream() looks resource in classpath. don't have /home/apps/nk/working/ in classpath (do you?).

instead use fileinputstream (as suggested @banthar )


Comments

Popular posts from this blog

c# - SVN Error : "svnadmin: E205000: Too many arguments" -

c# - Copy ObservableCollection to another ObservableCollection -

All overlapping substrings matching a java regex -