Uma instância dessa interface é retornada pelo método result() presente nas interfaces Writer e Editor.
A interface Result fornece métodos que permitem configurar a transformação de determinado documento XML para outros formatos como String, arquivo, etc.
Um exemplo completo de como a interface Result pode ser utilizada é apresentado abaixo:
import java.io.File; import net.sf.xisemele.api.Result; import net.sf.xisemele.impl.XisemeleFactory;
Result result = XisemeleFactory.newXisemele().createWriter("raiz") .within() .element("elementoA").within() .element("elementoB", "Valor B") .element("elementoC", Boolean.TRUE) .endWithin() .element("elementoC", "Valor C") .endWithin() .result(); String xml = result .encoding("ISO-8859-1") // (1) .ident(true) // (2) .identNumber(3) // (3) .toFile(new File("arquivo1.xml")) // (4) .toFile("arquivo2.xml") // (5) .toXML(); // (6) System.out.println( xml );
O método Result.encoding(String) especifica o encoding que será aplicado na transformação do XML. No caso da chamada (1) foi atribuído o encoding ISO-8859-1. Os métodos Result.ident(boolean) e Result.identNumber(int) especificam se o XML resultante será identado ou não e a quantidade de espaços que será aplicada em cada nível da identação, respectivamente. Em (2) foi definido que o XML será identado, especificando-se o valor true e na sequência a chamada (3) define que será aplicado 3 espaços para cada nível na identação. Os métodos Result.toFile(java.io.File) e Result.toFile(String) salvam o XML para o arquivo especificado por parâmetro, como pode ser observado em (4) e (5). Por último, o documento XML é convertido para String através do método Result.toXML() como pode ser observado na chamada (6).
O trecho de código acima gera os arquivos arquivo1.xml e arquivo2.xml e uma saída no console contendo o seguinte XML:
<?xml version="1.0" encoding="ISO-8859-1"?> <raiz> <elementoA> <elementoB>Valor B</elementoB> <elementoC>true</elementoC> </elementoA> <elementoC>Valor C</elementoC> </raiz>