Jeg har en klasse i java som jeg gerne vil kalde fra et c++ program jeg
har prøvet efterfølgende uden resultat. Jeg har testet klassen den
virker fint, genererer den fil den skal. Men jeg kan ikke finde ud af at
bruge den fra mit c++ program. Jeg har prøvet at kalde den på de to
efterfølgende måder:
char arr [] = "C:/Kode/temp/Transform.java C:/Kode/temp/input.xml
C:/Kode/temp/input.xsl C:/Kode/temp/NyFil.xml";
execve("c:\\j2sdk1.4.1\\bin\\java.exe", arr, getenv());
system("java -cp -verbose c:\j2sdk1.4.1\jre\lib
C:\Kode\temp\Transform C:\Kode\temp\input.xml C:\Kode\temp\input.xsl
C:\Kode\temp\NyFil.xml");
Her er klassen jeg gerne vil bruge
// Transform.java
// Performs XSL Transformation
import java.io.*;
import java.util.*;
import javax.xml.parsers.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.*;
import javax.xml.transform.stream.*;
import org.w3c.dom.*;
import org.xml.sax.SAXException;
public class Transform {
// execute application
public static void main( String args[] ) throws Exception
{
if ( args.length != 3 ) {
System.err.println( "Usage: java Transform input.xml"
+ "input.xsl output.xml" );
System.exit( 1 );
}
DocumentBuilderFactory builderFactory
=DocumentBuilderFactory.newInstance();
TransformerFactory transformerFactory
=TransformerFactory.newInstance();
DocumentBuilder builder = builderFactory.newDocumentBuilder();
Document document = builder.parse( new File( args[ 0 ] ) );
Source xmlSource = new DOMSource( document );
Source xslSource = new StreamSource( new File( args[ 1 ] ) );
Result result = new StreamResult( new File( args[ 2 ] ) );
Transformer transformer = transformerFactory.newTransformer(
xslSource );
transformer.transform( xmlSource, result );
}
}
Håber der er nogen der kan hjælpe.
Hildur
--
Leveret af:
http://www.kandu.dk/
"Vejen til en hurtig løsning"