Pessoal,
 
        Algu�m teria um exemplo de um programa java que leia um XML, analise-o em rela��o a um XSL e gere um arquivo texto, isto com as classes oracle.xlm.parser.v2 ? Na verdade consegui gerar tanto HTMLs quanto arquivos texto, s� que no caso do arquivo texto as quebras de linha n�o s�o geradas (fica tudo em uma linha s�).
 
        O meu XSL est� assim:
 
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="text"/>
      <xsl:template match="/">
           <xsl:for-each select="pacientes/paciente"> 
                <xsl:value-of select="nome"/>
          </xsl:for-each>
      </xsl:template>
</xsl:stylesheet>
 
        O programa Java:
 
import org.w3c.dom.*;
import java.util.*;
import java.io.*;
import java.net.*;
import oracle.xml.parser.v2.*;
 
public class TesteXSLTXT {
 
 public static void main(String[] args) throws Exception {
    DOMParser parser;
    XMLDocument xml, xsldoc, out;
    URL xslURL, xmlURL;
 
    parser = new DOMParser();   // tipo DOM
    parser.setPreserveWhitespace(true);
    // faz o parse do XSL
    xslURL = new URL("file://c/JavaXmlTeste/pacientetxt.xsl");
 
    parser.parse(xslURL);
 
    xsldoc = parser.getDocument();
 
    // faz o parse do XML
    xmlURL = new URL("file://c/JavaXmlTeste/paciente.xml");
    parser.parse(xmlURL);
 
    xml = parser.getDocument();
 
    // instancia o StyleSheet e o XSLT
    XSLStylesheet xsl = new XSLStylesheet(xsldoc,xslURL);
    XSLProcessor processor = new XSLProcessor();
    processor.showWarnings(true);
    processor.setErrorStream(System.out);
 
    // Aplica o XSL no XML
    XMLDocumentFragment result = processor.processXSL(xsl,xml);
 
    result.print(System.out);
 
    FileWriter fw = new FileWriter("c:\\JavaXmlTeste\\paciente.txt");
    BufferedWriter bw = new BufferedWriter(fw); 
    PrintWriter pw = new PrintWriter(bw);
   result.print(pw);
 
    pw.close();
   bw.close();
   fw.close();
  }
}
 
 
Obrigado, Alexandre.

Responder a