Hallo,

Ben al een tijdje bezig om alleen de childrens van file1.xml te kopiëren naar nieuw file2.xml met nieuwe root en attributes.
Het maken van attributes met nieuwe root lukt me wel alleen hoe krijg ik daar dus die gekloonde/gekopieerde chidrens van file1.xml in??

Dus file1.xml =

<?xml version="1.0" encoding="utf-8"?>
<root >
<title>Jhon Haas</title>
</root>

en file2.xml moet zijn

<?xml version="1.0" encoding="utf-8"?>
<nieuwe root attr='bla' >
<title>Jhon Haas</title> // gekopieerde childrens van file1.xml
</root>


Heeft iemand een tip want ik ben ma aan het rommelen hey?

Dus wat ik tot nu toe heb


<?php>
$dom = new DOMDocument('1.0', 'utf-8');
$element = $dom->createElement($myattr, 'test')
$newnode = $dom->appendChild($element);
$newnode->setAttribute("id", "55");
print $dom->saveXML(). "\n";

$file= file2.xml
$dom->load('file1.xml');

// en dan hier de childrens copieren en nieuwe xml maken met nieuwe root.

$newcontent= $dom->saveXML();
if (file_put_contents($file, $newcontent)) {
echo "new xml saved!!!". "\n";
}


?>
Thanx
children is meervoud van child
"childrens" is dus niks.


Probeer het eens met DOMDocument::importNode
> http://nl2.php.net/manual/en/domdocument.importnode.php

Met importNode kan je een Node uit document A "importeren" voor gebruik in document B.

zoiets krijg je dan:

Document a = ...;
Document b = ...;

Node aNode = a.getElement(...);
Node bNode = b.importNode(aNode);
Node bParent = b.getElement(...);
bParent.appendChild(bNode);
Ja helemaal top Hoppes en Toby!!!!

Super bedankt ik denk dat ik er uit kom alleen nog klein vraagje????? Hoe kan ik ervoor zorgen dat de xml die geschreven wordt ook leesbaar blijft in layout?

Dus

<?xml version="1.0" encoding="utf-8"?>
<root>
<child> test
</child>
</root>

i.p.v

<?xml version="1.0" encoding="utf-8"?><root><child> test</child></root>


is hier een trucje voor? Vast bedankt iedereen!
Ik denk dat je dan dit moet gebruiken: dus:

$domobj->formatOutput = true;
Noppes Homeland op 16/11/2010 21:54:32

alles staat op http://www.php.net/DOM en http://www.php.net/XSL


En waarom dan hé?
Waarom XSL hé?
Het is namelijk zoals die post boven mij zegt formatOutput is.

Reageren