Bem, estou com uma dúvida. Em minha aplicação, eu leio um XML e a partir dele eu defino o meu “Ambiente”, porém, a qualquer momento em meu programa, eu posso editá-lo; um frame será aberto com vários campos e um botão Salvar, pressionado tal botão, eu terei que MODIFICAR o meu XML Inicial que está mais ou menos assim:
Tente criar um bean através do seu xml e modifique o atributo empresa, depois gere novamente o xml quando precisar.
Dê uma olhada http://xstream.codehaus.org/tutorial.html
G
Gabriel_Lopes
Mas assim, eu vou ter que reescrever todo XML né não?
Não tem como eu apenas pegar um nó?
romarcio
XStream trabalha com objetos. Então você teria que criar um objeto Ambiente e nele modificar o atributo Empresa para então modificar o valor da tag.
Ou então para fazer o que você quer, use um classe que manipule por exemplo a API JDOM. Essa API te da acesso a cada tag do XML, mas vai te dar um pouco mais de trabalho.
Abaixo 2 tutoriais, 1 sobre XStream e outro sobre o JDOM.
G
Gabriel_Lopes
RoMarcio, muito obrigado; lá li e reli o tuto sobre xstream. Embora eu reconheça que é um erro meu ficar trabalhando com xstream na leitura de XML, mas sempre que eu penso em aprender JDom me falta tempo.
Então, eu já tenho o Objeto Ambiente modificado, e é exatamente isso que eu quero: Modificar o valor da tag!
Agradeceria imensamente se me ensinassem a fazer isso!
Muito obrigado.
romarcio
No tutorial que te passei o link sobre o XStream, mostra bem no inicio como você pode fazer isso.
1° você vai ler o xml de algum arquivo.
2° vai criar um objeto ambiente com os novos dados
3° vai usar o método que gera o xml através de novo objeto ambiente, e salvar o arquivo, substituindo o antigo.
Você não vai conseguir manipular diretamente a tag, por isso terá que criar o objeto e salvar todo o objeto novamente.
G
Gabriel_Lopes
romarcio:
Você não vai conseguir manipular diretamente a tag, por isso terá que criar o objeto e salvar todo o objeto novamente.
Muito Obrigado, minha pergunta foi respondida e o tópico Resolvido.
Eu realmente precisava saber se havia ou não um jeito de fazer diretamente…
mas com JDom deve dá né?
com getNode e tal…
romarcio
Com JDom é possivel manipular a tag, mas você precisa ler todo o XML para então manipular tal tag. E após alterar o conteúdo da tag, salvar todo o XML novamente.