[英]Converting XML in php
我有個問題。 我有2個檔案。 第一個文件data.php:
<?php
$str = '<?xml version="1.0"?>
<products>
<product>
<name>Radio</name>
<price>79.99</price>
<desc>Place for describe</desc>
</product>
<product>
<name>TV</name>
<price>599.99</price>
<desc>Place for describe</desc>
</product>
<product>
<name>Book</name>
<price>75.00</price>
<desc>Place for describe</desc>
</product>
<products>';
?>
第二個文件index.php:
<?php
include('data.php');
$products =new SimpleXMLElement($str);
foreach($products->product as $product){
echo $product->name;
echo "<br>";
}
?>
我使用Wamserver。 當我嘗試在Web瀏覽器中運行index.php時,出現錯誤:http: //zapodaj.net/images/fbd51b9ca6da9.jpg我想顯示每個產品的名稱。 有人可以告訴我如何解決這個問題嗎?
首先,XML無效,最后需要一個結束標記:
</product>
</products>';
(文件的最后幾行)。 其余的代碼似乎還可以。
其次,您應該使用
simplexml_load_string($str);
示例 (使用php -a
):
$ php -a
Interactive mode enabled
php > $str='<?xml version="1.0"?>
php ' <products>
php ' <product>
php ' <name>Radio</name>
php ' <price>79.99</price>
php ' <desc>Place for describe</desc>
php ' </product>
php ' <product>
php ' <name>TV</name>
php ' <price>599.99</price>
php ' <desc>Place for describe</desc>
php ' </product>
php ' <product>
php ' <name>Book</name>
php ' <price>75.00</price>
php ' <desc>Place for describe</desc>
php ' </product>
php ' </products>';
php > $products = simplexml_load_string($str);
php > foreach($products->product as $product){
php { echo $product->name;
php { echo "<br>";
php { }
Radio<br>TV<br>Book<br>
您的產品端塊錯誤,您忘記了/
請找到正確的xml
<?xml version="1.0"?>
<products>
<product>
<name>Radio</name>
<price>79.99</price>
<desc>Place for describe</desc>
</product>
<product>
<name>TV</name>
<price>599.99</price>
<desc>Place for describe</desc>
</product>
<product>
<name>Book</name>
<price>75.00</price>
<desc>Place for describe</desc>
</product>
</products>
您可以使用此網站在線檢查xml: http : //www.xmlvalidation.com/
正如CommuSoft所說,您尚未關閉XML塊
</product>
</products>';
而且您應該使用CommuSoft所說的simplexml_load_string($str);
當您將XML作為字符串存儲在變量中時。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.