Ir para conteúdo
  • Cadastre-se
  • 0

Converter XML para sql e sql para xml


Dartz

Pergunta

Boa pessoal, a dúvida é bastante simples, como no projeto l2jAcis usa a maior parte do seu datapack em XML isso torna um pouco complicado a manipulação de um volume de dados muito grande, como por exemplo, apagar todos os mobs de um determinado tipo, assim por diante. eu gostaria muito que alguém pudesse me ajudar com este problema. A situação é a seguinte, eu queria criar uma tabela em sql a partir da xml dos npcs da l2jacis pra poder filtrar dados usando o navicat, assim como da pra mexer na frozen e, depois das edições, trazer novamente a xml como estava antes, de modo q funcione perfeitamente, porem, com as modificações salvas, alguém pode dar uma dica, um passo a passo ou algo assim?
obrigado.

Editado por Dartz
Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts recomendados

  • 0

Eu acho que este procedimento seria muito trabalhoso, eu não possuo conhecimentos para fazer algo assim mas creio que você poderia se adaptar às novas metodologias da plataforma. O fato de ser XML não te impede de fazer nada praticamente de modo "automático" . Você usou como exemplo " apagar todos os mobs de um determinado tipo" eu não entendi bem até por que você não precisa removê-los e sim deletar eles do spawnlist e isso você poderia fazer com uma query, tem mais alguma coisa que você quer fazer para que você precise dessa reformulação? 

Um mundo de diversão no Lineage 2

https://www.primeworld.com.br

Discord: Em breve

Comunidade brasileira de Lineage. Interlude Remastered / High Five / Essence 

Classes remasterizadas, sistemas únicos, diversão garantida.

Link para o comentário
Compartilhar em outros sites


  • 0

 

1 hora atrás, Elesis disse:

Eu acho que este procedimento seria muito trabalhoso, eu não possuo conhecimentos para fazer algo assim mas creio que você poderia se adaptar às novas metodologias da plataforma. O fato de ser XML não te impede de fazer nada praticamente de modo "automático" . Você usou como exemplo " apagar todos os mobs de um determinado tipo" eu não entendi bem até por que você não precisa removê-los e sim deletar eles do spawnlist e isso você poderia fazer com uma query, tem mais alguma coisa que você quer fazer para que você precise dessa reformulação? 

Na verdade, queria deletar determinados drops, mas de todos os mobs q droparem os itens q quero remover.

Editado por Dartz
Link para o comentário
Compartilhar em outros sites

  • 0
1 hora atrás, Dartz disse:

 

Na verdade, queria deletar determinados drops, mas de todos os mobs q droparem os itens q quero remover.

e so voce usar o notepad++  abri todos as xml dos npc e dar crtl +F  , vai na opçao substituir colocar a linha exata do drop que quer tirar e coloca pra substituir por nada ,e pronto resolvido.

Link para o comentário
Compartilhar em outros sites

  • 0
10 minutos atrás, Brhu3 disse:

e so voce usar o notepad++  abri todos as xml dos npc e dar crtl +F  , vai na opçao substituir colocar a linha exata do drop que quer tirar e coloca pra substituir por nada ,e pronto resolvido.

desse jeito ele tira o id do item, "da certo" mas fica bastante meia boca nos arquivos.

 

Link para o comentário
Compartilhar em outros sites

  • 0

É o jeito amigo =/ Eu creio que fazer isso é melhor do que você passar pra sql, pq pra fazer isso vc vai ter que editar xml por xml e isso será um trabalhão, ou você pode criar um java mod de drop global, também há este mod no forum parece... 

Um mundo de diversão no Lineage 2

https://www.primeworld.com.br

Discord: Em breve

Comunidade brasileira de Lineage. Interlude Remastered / High Five / Essence 

Classes remasterizadas, sistemas únicos, diversão garantida.

Link para o comentário
Compartilhar em outros sites

  • 0
10 horas atrás, Elesis disse:

É o jeito amigo =/ Eu creio que fazer isso é melhor do que você passar pra sql, pq pra fazer isso vc vai ter que editar xml por xml e isso será um trabalhão, ou você pode criar um java mod de drop global, também há este mod no forum parece... 

É q na verdade, alem de remover drops q eu não quero também estou adicionando outros, mas eu to fazendo isso mob por mob nas xml, como eu falei no primeiro post, é um volume muito grande de dados, por isso to procurando um jeito de automatizar alguma etapa. mas acho q não vai ter jeito mesmo. e vai continuar sendo editar um a um ate acabarem tds os npcs kk

Link para o comentário
Compartilhar em outros sites

  • 0

Será o jeito mesmo amigo, isso que você quer fazer é meio impossível x-x só se alguém que entende de estrutura java realmente refizer isso pra você 

o Tayran é foda pra caramba em java, mas ele costuma fazer trabalhos para compartilhar no fórum, algo como isso é mais "particular" e ele cobraria

 

Um mundo de diversão no Lineage 2

https://www.primeworld.com.br

Discord: Em breve

Comunidade brasileira de Lineage. Interlude Remastered / High Five / Essence 

Classes remasterizadas, sistemas únicos, diversão garantida.

Link para o comentário
Compartilhar em outros sites

  • 0

Isso que você quer fazer eu já fiz parecido, que foi pegar informações da system e transformar em SQL, criar um programa pequeno em java que fazia o parse do SQL para XML, e ai eu tive a XML que eu demoraria tempos para escrever feita em 30 minutos, isso que você quer exige um pouco de conhecimento em parse de sql e xml.

"Tente ser uma pessoa de valor , não de sucesso" - Albert Einstein

 

 

Link para o comentário
Compartilhar em outros sites

  • 0

Hoje em dia o que mais existe é biblioteca pra trabalhar com xml.

nem precisa fazer uma ferramenta em java.

você pode usar o php mesmo, é conectar na base mysql.

aqui uns exemplo de como começar a fazer o script ( coisa simples isso que você quer )

O conteúdo está oculto, favor efetuar login ou se cadastrar!



o method simple_xml você transforma o xml em array , da um select nos dados que você alterou no banco de dados é monta um array novamente com os novos dados é depois transforma pra xml 

 

$test_array = array (
  'bla' => 'blub',
  'foo' => 'bar',
  'another_array' => array (
    'stack' => 'overflow',
  ),
);
$xml = new SimpleXMLElement('<root/>');
array_walk_recursive($test_array, array ($xml, 'addChild'));
print $xml->asXML();

 

nesse exemplo simples. ele ta montado um novo xml pelo os valores do test_array
você só precisa pegar esses dados no banco de dados.

ainda tem outras função que você pode usar é apontar um dir com os xml do servidor é o script trabalhar neles... 

Link para o comentário
Compartilhar em outros sites

  • 0
Em 17/04/2018 at 19:58, UnkL4b disse:

Hoje em dia o que mais existe é biblioteca pra trabalhar com xml.

nem precisa fazer uma ferramenta em java.

você pode usar o php mesmo, é conectar na base mysql.

aqui uns exemplo de como começar a fazer o script ( coisa simples isso que você quer )

O conteúdo está oculto, favor efetuar login ou se cadastrar!



o method simple_xml você transforma o xml em array , da um select nos dados que você alterou no banco de dados é monta um array novamente com os novos dados é depois transforma pra xml 

 


$test_array = array (
  'bla' => 'blub',
  'foo' => 'bar',
  'another_array' => array (
    'stack' => 'overflow',
  ),
);
$xml = new SimpleXMLElement('<root/>');
array_walk_recursive($test_array, array ($xml, 'addChild'));
print $xml->asXML();

 

nesse exemplo simples. ele ta montado um novo xml pelo os valores do test_array
você só precisa pegar esses dados no banco de dados.

ainda tem outras função que você pode usar é apontar um dir com os xml do servidor é o script trabalhar neles... 

O mano valeu, eu n entendo nada dessas coisas mas vou dar uma pesquisada assim q puder. Obrigado sz

Link para o comentário
Compartilhar em outros sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Processando...
  • Registre-se

    Faça parte da maior e  mais antigas comunidades sobre Lineage2 da América Latina.





×
×
  • Criar Novo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.