ok,
heres the code i've been using!
<?php
////parser
if( ! ($fp = fopen( "./sponsor1.xml" , "a+" )) )
die("Couldn't open xml file!");
$person_counter = 0;
$person_data = array();
$xml_current_tag_state = '';
function startElementHandler( $parser, $element_name, $element_attribs )
{
global $person_counter;
global $person_data;
global $xml_current_tag_state;
if( $element_name == "STORY" )
{
// $person_data[$person_counter]["author"] = $element_attribs["AUTHOR"];
}
else
{
$xml_current_tag_state = $element_name;
}
}
function endElementHandler( $parser, $element_name )
{
global $person_counter;
global $person_data;
global $xml_current_tag_state;
$xml_current_tag_state = '';
if( $element_name == "STORY" )
{
$person_counter++;
}
}
function characterDataHandler( $parser , $data )
{
global $person_counter;
global $person_data;
global $xml_current_tag_state;
if( $xml_current_tag_state == '' )
return;
if( $xml_current_tag_state == "STORYTYPE" ) {
$person_data[$person_counter]["storytype"] = $data;
}
if( $xml_current_tag_state == "HEADLINE" ) {
$person_data[$person_counter]["headline"] = $data;
}
if( $xml_current_tag_state == "ABSTRACT" ) {
$person_data[$person_counter]["abstract"] = $data;
}
if( $xml_current_tag_state == "BODYTEXT" ) {
$person_data[$person_counter]["bodytext"] = $data;
}
}
if( !($xml_parser = xml_parser_create()) )
die("Couldn't create XML parser!");
xml_set_element_handler($xml_parser, "startElementHandler",
"endElementHandler");
xml_set_character_data_handler($xml_parser, "characterDataHandler");
while( $data = fread($fp, 4096) )
{
if( !xml_parse($xml_parser, $data, feof($fp)) )
{
break; // get out of while loop if we're done with the file
}
}
xml_parser_free($xml_parser);
?>
<?php
//see the contents of our array $person_data
print_r($person_data);
$lengthOfArray = count($person_data);
$thisPos = $lengthOfArray;
for($i=0; $i <$lengthOfArray; ++$i)
{
$thisName = $person_data[$i] ["storytype"];
echo $thisName."<br>";
}
$elementPos =$lengthOfArray;
echo "$i;<br>---this is elementpos value $elementPos";
$person_data[$elementPos]['storytype']=$storytypeContent;
$person_data[$elementPos]['headline'] =$headlineTagContent;
$person_data[$elementPos]['bodytext'] = $bodyTextInput;
$person_data[$elementPos]['abstract'] = $abstractContent;
echo "<hr>";
print_r ($person_data);
echo "THIS IS THIS POSITION $thisPos";
echo "THIS IS I $i";
?>
its not writing to the xml file tho, and its defo not appending
but its not bringin up an error in the xml either.
in the xml file i have put
<?xml version="1.0"?>
<sponsor_tab>
</sponsor_tab>
becaue it was sayin that you must hvae a top level element