簡體   English   中英

XML標記內的變量值

[英]Variable value inside XML tag

我想將$ album的值放入一個名為category的XML標簽中。 但是我嘗試的一切都是錯誤的。 我得到的最接近的是變量名$ album,而不是其中的數據。 我是用PHP編寫XML的新手。 我嘗試了各種連接,並看到了此處提到的CDATA,但不知道我是否應該使用它或如何使用它。

<?php
$dbhost = "localhost";
$dbuser = "user";
$dbpass = "password";
$dbname = "db";
@mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($dbname);


$sql = "SELECT * FROM responsivegallery_rgal";
$q   = mysql_query($sql) or die(mysql_error());

$album = $q['album_rgal'];
$category_tag = '"<category caption = ". $album .">"';

$xml = "<gallery>";
while($r = mysql_fetch_array($q)){


  $xml .= $category_tag ."</category>";
  $xml .= "<item>"; 
  $xml .= "<image>"."gallery_files/slides/".$r['image_rgal']."</image>";
  $xml .= "<thumb>"."gallery_files/slides/".$r['thumb_rgal']."</thumb>";  
  $xml .= "<caption>".$r['title_rgal']."</caption>";
  $xml .= "</item>";  
}
$xml .= "</gallery>";
$sxe = new SimpleXMLElement($xml);
$sxe->asXML("test.xml");
//$sxe->asXML("../gallery_files/gallery.xml");
?>

您錯誤地構建了循環,未獲取$q ,因此['album_rgal']將不存在。 嘗試這個

<?php
$dbhost = "localhost";
$dbuser = "user";
$dbpass = "password";
$dbname = "db";
@mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($dbname);


$sql = "SELECT * FROM responsivegallery_rgal";
$q   = mysql_query($sql) or die(mysql_error());

$xml = "<gallery>";
while($r = mysql_fetch_array($q)){
  $xml .= '<category caption="'. $r['album_rgal'] .'"></category>';
  $xml .= "<item>";
  $xml .= "<image>"."gallery_files/slides/".$r['image_rgal']."</image>";
  $xml .= "<thumb>"."gallery_files/slides/".$r['thumb_rgal']."</thumb>";  
  $xml .= "<caption>".$r['title_rgal']."</caption>";
  $xml .= "</item>";  
}
$xml .= "</gallery>";
$sxe = new SimpleXMLElement($xml);
$sxe->asXML("test.xml");
//$sxe->asXML("../gallery_files/gallery.xml");
?>

您的連接也關閉了。

$category_tag = '"<category caption = ". $album .">"';

本來可以

$category_tag = '"<category caption = "'. $album .'">"';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM