将变量分配给xml中的值

时间:2012-11-19 12:17:51

标签: php xml parsing

我的XML文件是:

<hotels xmlns="">
  <hotels>
    <hotel>
      <noofrooms>10</noofrooms>
      <website></website>
      <imageref>oias-sunset-2.jpg|villas-agios-nikolaos-1.jpg|villas-agios-nikolaos-24.jpg|villas-agios-nikolaos-41.jpg</imageref>
      <descr>blah blah blah</descr>
      <hotelid>119</hotelid>
    </hotel>
</hotels>

我想为每个imageref分配一个变量:

$image1 = "oias-sunset-2.jpg";
$image2 = "villas-agios-nikolaos-1.jpg";
.............

4 个答案:

答案 0 :(得分:0)

如果您的xml有效,您可以使用(如评论中所示):

$xml = simplexml_load_file($path_to_file);
$images = explode('|', $xml->hotel->imageref);

要查看您现在拥有的内容,您可以使用:

print_r($images);

请参阅http://php.net/simplexml_load_file

答案 1 :(得分:0)

您可以使用SimpleXML来解析文件,然后使用explode函数将其拆分为变量。

$doc = new SimpleXMLElement($yoursqlstring);
foreach($doc->hotel as $hotel){
    $refs = explode('|',$hotel->imageref);
}

答案 2 :(得分:0)

试试这个:

$images[] = '';
$xmlString = 'your xml';
$xml = new SimpleXMLElement($xmlString);
foreach ($xml->hotels->hotel->imageref as $img_urls) {
 $images[] = $img_urls;
}

答案 3 :(得分:0)

$doc = new SimpleXMLElement($yoursqlstring);
foreach($doc->hotel as $hotel){
    $image_array = explode('|', $hotel->imageref);
    foreach($image_array as $k => $img)
        $image[$k+1] = $img;
}

现在您可以通过

访问图像了
echo $image[1];
echo $image[2];
.
.
.