Mudar trechos específicos em arquivos XML

04/01/2019

0

Olá a todos! Este é meu primeiro tópico, li as regras e acredito que eu esteja fazendo certo publicando este tópico.

Primeiro é importante saber que não sou programador. Sou um entusiasta e sei algumas coisas entre as linguagens mais comuns.

Há algum tempo aprendi a usar VBA para me ajudar em certos procedimentos da faculdade e depois comecei com VB e .NET para automatizar alguns processos no trabalho. O que me leva a esta postagem.

Tenho uma pastas com diversas subpastas e dentro destas vários arquivos XML. Destes há alguns que necessito periodicamente mudar algumas poucas linhas. Minha ideia é criar uma GUI que me permita agilizar esse processo. Então no APP eu teria os campos onde irei introduzir o novo texto para o trecho específico e salvaria o XML com a atualização. O código do XML é sempre o mesmo, mudando apenas esses trechos específicos. Creio que o legal seria ter na base de dados do próprio APP o texto dos XMLs. Eu escolheria o XML que vou mudar, na interface nos campos específicos introduzo o novo texto e exporto.

Sei criar a interface gráfica, a função para exportar o novo arquivo (até mesmo exportar dentro da subpasta específica) dentro outras funções que irei implementar. Mas a parte de mudar um trecho específico do XML eu estou com dúvidas.

Segue um esquema do que preciso:

Na interface escolho o modelo de XML nº2 -> Abre uma nova interface e nela as TextBox para introduzir o novo conjunto de Strings que será armazenado no trecho específico do modelo XML -> Digito o texto e seleciono o botão salvar.

Feito isto o sistema irá solicitar onde quero salvar o arquivo mas ao salvar quero que seja criada junto uma estrutura de diretórios :

Exemplo: Pasta Avó\\\\Pasta Mãe\\\\Pasta Filha\\\\Pasta Neta\\\\Arquivo XML

Onde o nomes das pastas seria digitadas em TextBoxs na mesma interface onde digito as Strings do XML.

Não quero um código pronto para isso, na verdade gostaria de instruções claras e objetivas que pudessem me guiar na programação desse APP. Sou bastante autodidata e neste momento que leem este tópico estou pesquisando soluções para este meu projeto.

Desde já agradeço a compreensão e colaboração de todos.

Segue o código de um dos modelos de XML que preciso mudar. Neste irei mudar as informações de "name" e "toolurl". Nos outros XMLs também serão isso, 2 ou 3 linhas. Mas são muitos para ficar abrindo um por um.

 <?xml version="1.0" encoding="UTF-8"?>
<activity id="765" moduleid="938" modulename="lti" contextid="1242">
  <lti id="765">
    <name>Conjuntos numéricos</name>
    <intro></intro>
    <introformat>1</introformat>
    <timecreated>1541636307</timecreated>
    <timemodified>1541636307</timemodified>
    <typeid>0</typeid>
    <toolurl>https://sagahcm.sagah.com.br/sagahcm/lti/launch.php?ua=2220</toolurl>
    <securetoolurl></securetoolurl>
    <launchcontainer>1</launchcontainer>
    <instructorchoicesendname>1</instructorchoicesendname>
    <instructorchoicesendemailaddr>1</instructorchoicesendemailaddr>
    <instructorchoiceacceptgrades>1</instructorchoiceacceptgrades>
    <instructorchoiceallowroster>$@NULL@$</instructorchoiceallowroster>
    <instructorchoiceallowsetting>$@NULL@$</instructorchoiceallowsetting>
    <grade>100</grade>
    <instructorcustomparameters></instructorcustomparameters>
    <debuglaunch>0</debuglaunch>
    <showtitlelaunch>1</showtitlelaunch>
    <showdescriptionlaunch>0</showdescriptionlaunch>
    <icon></icon>
    <secureicon></secureicon>
    <resourcekey encrypted="true">0vBE3AN+y43rsRkh1GdOG9IfnNQVWm6zOfPOla79rwg6iv+IAnNgbmIpyVcmIEdHvv6fbK/iVqzuQ32If8Wj/g==</resourcekey>
    <password encrypted="true">j6xn8mJCYdvO/3QkEeuV4thhdWxzxBfet3clxprKc/xgjY4/XPg38uBqX0/+lVr8naQfnNG1eHRwDY3Uy+4HIQ==</password>
    <ltisubmissions>
    </ltisubmissions>
    <subplugin_ltiservice_gradebookservices_lti>
      <lineitems>
      </lineitems>
    </subplugin_ltiservice_gradebookservices_lti>
  </lti>
</activity>
Roberto Junior

Roberto Junior

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar