McBr@in
Legacy Member
Ik heb een xml-bestand met volgende structuur:
<row>
<field name="id">12</field>
<field name="wagen">VW</field>
<field name="jaar">1992</field>
<field name="type">4x4</field>
<field name="brandstof">benzine</field>
</row>
Zo heb ik een heleboel <rows>. Nu is het de bedoeling dat ik uit elke row enkel de data voor id, wagen entype haal en deze in een MySql - tabel steek door gebruik te maken van een php-scriptbestandje.
Ik kan momenteel wel het id, wagen en type tonen op het scherm door gebruik te maken van volgende code:
<?php
$mblist = '';
$flag = false;
function openElement($parser, $element, $attributes) {
global $flag;
if (($element == 'field') && ($attributes['name'] == 'hgid')) $flag = true;
if (($element == 'field') && ($attributes['name'] == 'normid')) $flag = true;
if (($element == 'field') && ($attributes['name'] == 'perc_code')) $flag = true;
}
function closeElement($parser, $element) {
global $flag;
$flag = false;
}
function characterData($parser, $data) {
global $flag,$mblist;
if ($flag) $mblist[] = $data;
}
$parser = xml_parser_create();
xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, false);
xml_set_element_handler($parser, "openElement", "closeElement");
xml_set_character_data_handler($parser, "characterData");
$document = file_get_contents("test.xml");
xml_parse($parser, $document);
xml_parser_free($parser);
foreach ($mblist as $value) {
echo $value.'<br/>';
}
?>
Mijn vraag is nu, hoe voeg ik elke record to aan een variabele zodat ik die kan invoegen in de databank? Of ben ik met bovenstaande code helemaal de verkeerde weg op?
Help is wanted
<row>
<field name="id">12</field>
<field name="wagen">VW</field>
<field name="jaar">1992</field>
<field name="type">4x4</field>
<field name="brandstof">benzine</field>
</row>
Zo heb ik een heleboel <rows>. Nu is het de bedoeling dat ik uit elke row enkel de data voor id, wagen entype haal en deze in een MySql - tabel steek door gebruik te maken van een php-scriptbestandje.
Ik kan momenteel wel het id, wagen en type tonen op het scherm door gebruik te maken van volgende code:
<?php
$mblist = '';
$flag = false;
function openElement($parser, $element, $attributes) {
global $flag;
if (($element == 'field') && ($attributes['name'] == 'hgid')) $flag = true;
if (($element == 'field') && ($attributes['name'] == 'normid')) $flag = true;
if (($element == 'field') && ($attributes['name'] == 'perc_code')) $flag = true;
}
function closeElement($parser, $element) {
global $flag;
$flag = false;
}
function characterData($parser, $data) {
global $flag,$mblist;
if ($flag) $mblist[] = $data;
}
$parser = xml_parser_create();
xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, false);
xml_set_element_handler($parser, "openElement", "closeElement");
xml_set_character_data_handler($parser, "characterData");
$document = file_get_contents("test.xml");
xml_parse($parser, $document);
xml_parser_free($parser);
foreach ($mblist as $value) {
echo $value.'<br/>';
}
?>
Mijn vraag is nu, hoe voeg ik elke record to aan een variabele zodat ik die kan invoegen in de databank? Of ben ik met bovenstaande code helemaal de verkeerde weg op?
Help is wanted

. Ben ni echt ne krak in die script-toestanden maar het moet nu eenmaal gebeuren 
