Transformar código JAVA para XML

5 respostas
gustcc

Olá,

Estou com problemas na transformação de código JAVA para XML. Estava pensando na hierarquia das classes, seus métodos e atributos.

Alguém pode me ajudar?

Obrigado!

5 Respostas

drsmachado

Algo como

<class>
<className>NomeDaClasse</className>
<method>
 <methodName>metodoUm</methodName>
 <param>
  <paramName>paramUm</paraName>
  <paramType>java.lang.String</paramType>
 </param>
 <return>
  <returnName>varRetorno</returnName>
  <returnType>java.lang.String</returnType>
 </return>
 <exception><exceptionType>NullPointerException</exceptionType>
 </exception>
</method>
</class>

Mais ou menos isso?

gustcc

Oi,
Obrigado por responder.

Só que é um pouco mais complexo. Eu tenho que apenas indicar um arquivo de código fonte. Partindo desse arquivo, deverá ser transformado em xml.

E isso que está me confundindo. Pois preciso saber os métodos e seus conteúdos.

Obrigado mais uma vez!

drsmachado

Então você primeiro precisa entender um XML.
Basicamente a extensible markup language é baseada em estruturas (tags) que são organizadas de forma hierarquica. sempre partindo de um elemento root para elementos mais específicos.
Sendo assim, sugiro que você crie uma relação entre as tags e as keywords do java, por exemplo:
Ao ler “public class XXXX{” a tag deverá ser preenchida com o nome da classe (palavra entre o class e a chave).
Se ler “public yyyy dddddDdddd()”, a tag deve ser gerada com o nome do método (a palavra antes dos parênteses). E assim por diante.

Considere:
Uma classe nem sempre será public.
Uma classe nem sempre terá atributos.
Uma classe nem sempre terá métodos.
Um arquivo .java pode ser um enum, uma Interface ou uma class.
Um método pode não ter parâmetro
Um método pode não ter tipo de retorno

ViniGodoy

Uma alternativa é usar esse projeto aqui: http://www.castor.org/

Mas claro, você não vai escapar de entender o que é um xml e para que ele serve.

pmlm

http://xstream.codehaus.org/

Criado 23 de maio de 2011
Ultima resposta 24 de mai. de 2011
Respostas 5
Participantes 4