Read XML file data

Discussion in 'Programming' started by web-developer, Oct 27, 2011.

  1. #1
    This is my XML file and I want to get this into array format.

    <?xml version="1.0" encoding="UTF-8"?>
    <ExportVDM>
    <Product>
    <ARINTNUM>5</ARINTNUM>
    <EAN>3065896440009</EAN>
    <BASIS_OMS>PEDIGREE BLIK ADULT HART</BASIS_OMS>
    <UWPRIJS_EXC>17.679</UWPRIJS_EXC>
    <UWPRIJS_INC>21.038</UWPRIJS_INC>
    <ARTIKEL_CONTENT_HTML>Pedigree Adult Pate met Hart is een gezonde en complete maaltijd, bereid met goede, natuurlijke en smakelijke ingrediënten en vers vlees. Zo geeft u uw hond een kwalitatief hoogwaardige voeding die heerlijk smaakt, elke dag weer.
    <p>Verreikt met vitamine B en ijzer voor het behoud van zijn vitaliteit, vitamine E om het natuurlijke afweersysteem te ondersteunen, calcium voor gezonde tanden en natuurlijke vezels voor een goede spijsvertering. </p>
    </ARTIKEL_CONTENT_HTML>
    <BTW_PERC>19</BTW_PERC>
    </Product>
    <Product>
    <ARINTNUM>7</ARINTNUM>
    <EAN>5010394984942</EAN>
    <BASIS_OMS>PEDIGREE SNACK SCHMACKOS RUND</BASIS_OMS>
    <UWPRIJS_EXC>9.774</UWPRIJS_EXC>
    <UWPRIJS_INC>11.631</UWPRIJS_INC>
    <ARTIKEL_CONTENT_HTML>PEDIGREE Schmackos zijn de originele, heerlijke en voedzame vleessnacks voor uw hond. Bereid met vers vlees dat met zorg door onze voedingsspecialisten geselecteerd is en aan de lucht is gedroogd voor maximale smaak. PEDIGREE Schmackos zijn de beste manier om uw hond te laten zien hoeveel u van hem houdt en hem te belonen voor goed gedrag.
    </ARTIKEL_CONTENT_HTML>
    <BTW_PERC>19</BTW_PERC>
    </Product>
    </ExportVDM>

    I try with below code

    
    <?php
    public function objectsIntoArray($arrObjData, $arrSkipIndices = array())
    {
        $arrData = array();
     
        // if input is object, convert into array
        if (is_object($arrObjData)) {
            $arrObjData = get_object_vars($arrObjData);
        }
     
        if (is_array($arrObjData)) {
            foreach ($arrObjData as $index => $value) {
                if (is_object($value) || is_array($value)) {
                    $value = $this->objectsIntoArray($value, $arrSkipIndices); // recursive call
                }
                if (in_array($index, $arrSkipIndices)) {
                    continue;
                }
                $arrData[$index] = $value;
            }
        }
        return $arrData;
    }
    ?>
    
    PHP:
    
    <?php 
    header('Content-type: text/html; charset=UTF-8') ;
    $xmlStr = file_get_contents('http://www.mydomain.com/data/test-pro.xml');
    
        $xmlObj = simplexml_load_string($xmlStr ); 
        $arrXml = $this->objectsIntoArray($xmlObj); 
    ?> 
    
    PHP:
    But I don't get success so please help me to read this data or guide me where I am wrong.

    Thanks
     
    Last edited: Oct 27, 2011
    web-developer, Oct 27, 2011 IP