Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Pontus

Transformar um ficheiro XML numa string em Java

Mensagens Recomendadas

Knitter

Como é que estás a ler o conteúdo do XML? E queres ler os dados do XML ou ler o conteúdo incluído as tags?

Se queres ler apenas o conteúdo, depende se estás a usar DOM ou SAX, se queres ler todo o conteúdo incluindo as tags, basta leres o ficheiro como uma stream de leitura de caracteres, por exemplo usando um FileReader.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Knitter

Então podes usar um FileReader, eventualmente com buffer para que seja uma leitura mais optimizada e ler linha a linha. Em vez de usares Strings usa StringBuilders ou StringBuffers porque a manipulação directa de Strings não é um processo rápido.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Pontus

File file = new File ("filepath");

FileReader fileread = new FileReader(file);

BufferedReader bufread = new BufferedReader(fileread)

//String str = new String();

StringBuilder sb = new StringBuilder();

sb.append(bufread);

return sb.toString();

assim?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Knitter

+/-, esse BUfferedReader tem de ser colocado num ciclo de modo a leres o conteúdo do documento linha a linha, ele deverá ter um método readLine() que te devolve a linha, sem o terminador de linha (\n, \r, \r\n), e que podes depois colocar no StringBuffer.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Pontus

Bem acabei por fazer de outra maneira:

public static String XmlToString() throws ParserConfigurationException, TransformerConfigurationException,

            SAXException, IOException, TransformerException {

        DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();

        DocumentBuilder docBuilder = docFactory.newDocumentBuilder();

        Document doc = docBuilder.parse("/home/ateixeira/zbr.xml");

        Transformer transformer = TransformerFactory.newInstance().newTransformer();

        transformer.setOutputProperty(OutputKeys.INDENT, "yes");

        //inicializar StreamResult para gravar para String

        StreamResult result = new StreamResult(new StringWriter());

        DOMSource source = new DOMSource(doc);

        transformer.transform(source, result);

        String xmlString = result.getWriter().toString();

        System.out.println(xmlString);

        //devolver a string

        return xmlString;

    }

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.