Parsear Retorno WebService

2 respostas
Doug_Floriano

Tudo bom galera!

Estou tendo um problema com um codigo, pois acho que nao entendi direito uma linha de codigo tutorial Parseando XML com o DOM.

1 // le o XML carregando os dados dos usuários em um Vector. 2 // retorna o vector contendo os usuários cadastrados no XML. 3 public Vector lerUsuariosGuj() throws Exception { 4 DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 5 DocumentBuilder db = dbf.newDocumentBuilder(); 6 Document doc = db.parse( xmlPathname );

na ultima linha quando coloco

Document doc = db.parse( xmlPathname );

entendo(e muitos exemplos me levaram a crer nisso) que o xmlPathname é um endereço fisico do arquivo XML, mas eu recebo o Xml como String de um retorno do WebService.
Como eu parsearia essa String usando Dom?

2 Respostas

luis.soares

Existem sobrecargas do método parse. Você pode fazer parse passando um caminho de arquivo, ou passando por exemplo um InputStream, que no seu caso, se você já tem o XML neste formato, pode utilizar esta chamada de método. Existem também outras forma de chamar o método.
Veja o javadoc da classe.

Abraço.

root_

Segue um trecho de exemplo usando o InputStream

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
InputStream is = new ByteArrayInputStream(SEU_STRING_CONTENDO_XML[/b].getBytes());
Document doc = db.parse(is);

espero ter ajudado.

Criado 13 de abril de 2007
Ultima resposta 24 de nov. de 2011
Respostas 2
Participantes 3