Quantcast
Channel: PHP Freaks: PHP Help
Viewing all articles
Browse latest Browse all 13200

XMLReader get value of Node of specific attribute

$
0
0

I need to import a 2Gb XML file into Mysql Db. The XML is built like the following sample

<?xml version="1.0" encoding="UTF-8"?>
<Properties>
<Property>
<ID></ID>
<price></price>
<price></price>
<price></price>
<price></price>
<image id='1'>
</image>
<image id='2'>
</image>
<image id='3'>
</image>
</Property>
<Property>
.......
</Property>
<Properties>

I am now trying to get the id, the value of the 4th price node as well as the two first image node values...

I am stuck... Please help. My script sofar:

<?
$reader = new XMLReader();
    $reader->open($url);
    while($reader->read()){
    if($reader->nodeType == XMLReader::ELEMENT) $nodeName = $reader->name;
    if($reader->nodeType == XMLReader::TEXT || $reader->nodeType == XMLReader::CDATA)    {
    if ($nodeName == 'ID'){
    $id = $reader->value;
    echo $id;
    }
    if ($nodeName == 'Price'){
    $price = $reader->value;
    echo $price['4'];
    }
    if ($nodeName == 'Image'){
    if($reader->getAttribute("id") == '1') {
    $image1= $reader->value;
    }else if($reader->getAttribute("id") == '2'){
    $image2= $reader->value;
    }
    }
    }
    }
?>

Viewing all articles
Browse latest Browse all 13200

Latest Images

Trending Articles



Latest Images