Привет, я сделал генератор XML с PHP: это полный образец PHP, сделанный с формой в html. отправить отправить всю дату в этот скрипт и сгенерировать модель в XML я могу использовать в другой программе
<?php
$xml = new SimpleXMLElement('<?xml version=\'1.0\' encoding=\'utf-8\'?>
<ProjetGC xmlns:xsi=\'http://www.w3.org/2001/XMLSchema-instance\' xmlns:xsd=\'http://www.w3.org/2001/XMLSchema\'></ProjetGC>'
);
$data = array(
'Langue' => 'FRA',
'Chantier' =>
array(
'Designation' => $_POST['Designation'],
'NumeroCommande' => $_POST['NumeroCommande'],
'Rue' => $_POST['Rue'],
'Ville' => $_POST['Ville'],
),
data2XML($data, $xml);
function data2XML(array $data, SimpleXMLElement $xml, $child = 'items')
{
foreach ($data as $key => $val) {
if (is_array($val)) {
if (is_numeric($key)) {
$node = $xml->addChild($child);
$nodes = $node->getName($child);
} else {
$node = $xml->addChild($key);
$nodes = $node->getName($key);
}
$node->addChild($nodes, data2Xml($val, $node));
} else {
$xml->addChild($key, $val);
}
}
}
$asXML = $xml->asXML();
$file = fopen('data.xml', 'w+');
fwrite($file, $asXML);
fclose($file);
//print_r(error_get_last());
if (file_exists('./data.xml')) {
$myXML = file_get_contents('./data.xml');
$xml = new SimpleXMLElement($myXML);
$dom = dom_import_simplexml($xml)->ownerDocument;
$dom->formatOutput = true;
header('content-type: text/xml');
header('Content-Disposition: attachment; filename="data.xml"');
echo $dom->saveXML();
}
//}
?>
это результат XML:
<?xml version="1.0" encoding="utf-8"?>
<ProjetGC xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Langue>FRA</Langue>
<Chantier>
<Designation>QSDQSDQSD</Designation>
<NumeroCommande/>
<Rue/>
<Ville/>
<Chantier/>
</Chantier>
некоторые теги дублируются (например, "chantier"), как я могу сделать, чтобы решить это? я попытался переписать сценарий, но все тот же