2012-11-15 46 views
0

我是一個PHP和JavaScript的新手,所以不要生氣。 好的,所以我想從另一臺服務器獲取xml文件,然後只提取一個數據(數字),並將其放在JavaScript變量,所以我可以用它來計算。在PHP和JavaScript中的xml數據

我有這個代碼獲取xml文件,並且我得到$ result變量與我需要的數據,但是我無法將這些數據保存在javascript變量中。 我需要這個數字在javascript中的原因是因爲所有的計算都是用javascript編碼的。

這是PHP代碼:從EUR7,480000

<?php 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, 
'http://www.pbz.hr/Downloads/PBZteclist.xml'); 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$xml = curl_exec($ch); 

echo($xml); 

curl_close($ch); 

$xmlObject = new SimpleXMLElement($xml); 
$node = $xmlObject->children(); 
$result = $node[0]->Currency[12]->BuyRateForeign; 
echo("<br />"); 
echo("<br />"); 
echo $result; 
?> 

我需要的數據,這個數字7,480000是所有我需要提取並保存在JavaScript變量。

也許我這樣做的方式是不對的,但我嘗試了一切。請幫幫我。

回答

0

我會建議使用xpath來抓取值,以防訂單變更。 如果您想用作字符串,請將其用引號括起來。如果你在計算中使用它,你可能需要去掉逗號等...

<?php 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, 
'http://www.pbz.hr/Downloads/PBZteclist.xml'); 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$xml = curl_exec($ch); 
curl_close($ch); 

//echo($xml); 

$sxe = new SimpleXMLElement($xml); 

$result = $sxe->xpath("//Currency[@Code='978']"); 
$BRF = $result[0]->BuyRateForeign; 
?> 
<script> 
    var bfr_string = '<?= $BRF?>'; //string 
    var bfr_number = <?= str_replace(',','.',$BRF)?>; //number 
</script> 
+0

這正是我所需要的。 Everithing非常棒。謝謝 – user1817666

0

假如你不打算使用Ajax來做到這一點:

<?php 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, 'http://www.pbz.hr/Downloads/PBZteclist.xml'); 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$xml = curl_exec($ch); 

echo($xml); 

curl_close($ch); 

$xmlObject = new SimpleXMLElement($xml); 
$node = $xmlObject->children(); 
$result = $node[0]->Currency[12]->BuyRateForeign; 
?> 
<script type="text/javascript"> 
    var rate = '<?php echo $result; ?>'; 
</script>  
0

如果你希望數據在頁面加載JavaScript的設置,你可以使用PHP來呼應一個JavaScript字符串初始化變量。

在PHP:

<script> 
<?php echo "var data = ".$result; ?> 
</script> 

如果你所得到的數據不同步,你將不得不使用JavaScript AJAX調用PHP頁面輸出的某種格式的(JSON)數據,或只是一個單一的字符串值。