Dois valores na mesma variável[RESOLVIDO]

5 respostas
dsystem

Bom dia pessoal,

Estou desenvolvendo um projeto de WebService para a minha empresa e eu tenho um método que recebe um String. Dentro dessa String eu determino o inicio e o fim do valor que quero pegar através do indexOf para assim então fazer um substring, mais ou menos assim.

public void retRecepcaoNFe(String procNFe)
{
    int inicio = procNFe.indexOf("<chNFe>");
    int fim = procNFe.indexOf("</chNFe>") || procNFe.indexOf("");
    String id = procNFe.substring(inicio, fim -1);	

     return null;
}

A minha duvida é a seguinte, onde eu tenho <chNFe> eu posso ter tb um outro valor que seria o Id="NFe. Gostaria de saber se é possivel eu colocar esses dois possiveis valores dentro de uma mesma variável?

obrigada

5 Respostas

M

Dou duas dicas pra vc:

[list]Usar um vetor ou um objeto específico, ao invés de uma simples String; ou[/list]
[list]Já que vc está simulando um XML, usar as classes do pacote javax.xml para manipulá-lo.[/list]
:slight_smile:

dsystem

Marcos, em primeiro lugar, obrigada por me responder.

Na primeira opção, você falou pra usar um vetor na String que passo como parametro no método???

Na segunda opção, você tem algum material que dê para eu entender legal o conceito de javax.xml?

:wink:

M

A primeira opção é, ao invés de vc ter retRecepcaoNFe(String procNFe), que esse método receba uma String[] ou um objeto que vc criaria, como NotaFiscal.

Agora, como você parece estar tratando um documento XML, o pacote javax.xml tem umas classes que facilitam bastante o processamento desse tipo de arquivo. Dê uma olhada aqui - http://www.java-tips.org/java-se-tips/javax.xml.parsers/how-to-read-xml-file-in-java.html
Esse é um simples guia de como ler um documento XML.
Claro que a documentação oficial sempre é bem-vinda, especialmente esse método: http://download.oracle.com/javase/1.4.2/docs/api/javax/xml/parsers/DocumentBuilder.html#parse(java.io.File)

dsystem

Então Marcos, eu tentei utilizar a segunda opção que você me passou. O problema é que meu xml é um pouco “bagunçado”, tipo, o valor que eu preciso pegar ele é assim

<infNFe Id="NFe3510023884324900013155000000006800"><ide>

e <chNFe>35101238843249000131550010000277652385466490</chNFe>

O 2 eu até consigo, mas o primeiro não… pq no comando

NodeList fstNmElmntLst = fstElmnt.getElementsByTagName("nomedatag");

Ele ja pega o inicio e o fim… :S

dsystem

Marcos

Já consegui

Obrigadaaaa

Criado 8 de dezembro de 2010
Ultima resposta 8 de dez. de 2010
Respostas 5
Participantes 2