Cita:
Iniciado por mount
En PHP puedes utilizar la siguiente función.
Código PHP:
A simple way to merge two SimpleXML objects.
<?php
/**
* Pumps all child elements of second SimpleXML object into first one.
*
* @param object $xml1 SimpleXML object
* @param object $xml2 SimpleXML object
* @return void
*/
function simplexml_merge (SimpleXMLElement &$xml1, SimpleXMLElement $xml2)
{
// convert SimpleXML objects into DOM ones
$dom1 = new DomDocument();
$dom2 = new DomDocument();
$dom1->loadXML($xml1->asXML());
$dom2->loadXML($xml2->asXML());
// pull all child elements of second XML
$xpath = new domXPath($dom2);
$xpathQuery = $xpath->query('/*/*');
for ($i = 0; $i < $xpathQuery->length; $i++)
{
// and pump them into first one
$dom1->documentElement->appendChild(
$dom1->importNode($xpathQuery->item($i), true));
}
$xml1 = simplexml_import_dom($dom1);
}
$xml1 = simplexml_load_string('<root><child>child 1</child></root>');
$xml2 = simplexml_load_string('<root><child>child 2</child></root>');
simplexml_merge($xml1, $xml2);
echo($xml1->asXml());
?>
Will output:
<?xml version="1.0"?>
<root>
<child>child 1</child>
<child>child 2</child>
</root>
gracias por tu respuesta..
en realidad no entiendo muy bien eso :D
no se si no me explique bien.. te comento
tengo un archivo XML con mucho contenido
pero hay unas cuantas lineas de ese XML que quiero sea DINAMICO y la idea que he tenido es, que con PHP re-escriba esa parte del XML cada vez que haya una modificacion.
entonces pense que para que re-escribir todo el XML como es solo una parte pequeña, pense que podria crear un xml nuevo con esos cambios y luego incluirlo en el XML grande, tipo include.. pero no encuentro la forma de llamar desde un xml a otro
un saludo. y gracias por tu ayuda