Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

gericia

Criar XML com PHP a partir de outro XML

Recommended Posts

Olá Pessoal! Estou precisando muito de uma ajuda de vocês.
Vou explicar meu caso:
Tenho que criar um XML para cadas portal de anúncio. Pois cada um deles fazem suas exigências para receber o XML.
O que preciso fazer:
Quero criar um arquivo php e que ele pegue algumas informações de um XML do meu site para criar um novo XML.
Não estou sabendo como fazer isso!
Meu XML do site se chama bancodedados.xml
Criei um arquivo trovit.xml (para receber a atualização do php)
<?xml version="1.0"?>
<trovit> </trovit>

Criei PHP com o seguinte código:

<?php
ini_set('default_charset', 'UTF-8');

$xml = simplexml_load_file('bancodedados.xml');

foreach($xml->post as $post) {
	echo $post->url.'<br>';
	
}

?>

<?php


$xml =new DOMDocument("1.0");
$xml->load("trovit.xml");
$post=$xml->getElementsByTagName("trovit");


$xml->formatOutput=true;
$xml->save("trovit.xml");


?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você tem um XML de base (ou alguma outra fonte de dados) e precisa transformá-la para várias outras, eu sugeriria o padrão de projeto Builder.

O builder separa a construção de, um objeto complexo, de sua representação. Assim, poderá utilizar o mesmo processo de construção para criar N representações.

A construção do objeto complexo é a leitura e interpretação do seu XML (a fonte de dados). Já as representações, no seu caso, são os XMLs que você precisa criar.

Já que você tem essa necessidade de incluir N estruturas, o builder vai lhe permitir adicionar novas estruturas com facilidade.

Aqui estão aguns links de exemplos:

http://forum.imasters.com.br/topic/407000-migrando-base-existente-para-um-nosql/#entry1600194

https://sourcemaking.com/design_patterns/builder/php/1

http://www.oodesign.com/builder-pattern.html

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não tenho muita experiência com isso. Meus conhecimentos são poucos em php e xml... Será se não é possível fazer isso com DOMxpath ou com simplexml? pq meu projeto não é muito grande. eu quero fazer um xml a partir de outro xml. Que é o arquivo que preciso enviar para esses de classificados para pegar meus produtos apenas. Eu faria um xml para cada um deles, pois não são muitos. Só uns 3 ou 5 sites. Já estudei bastante coisa e estou já ficando confusa!! :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

O início do código você já tem. Leitura do XML base com simplexml_load_file. No mais, pode usar o link abaixo como exemplo de como criar um XML:

http://stackoverflow.com/a/487282

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.