在php中转换XML
我有个问题。我有两个文件。第一个文件data.php:在php中转换XML,php,xml,Php,Xml,我有个问题。我有两个文件。第一个文件data.php: <?php $str = '<?xml version="1.0"?> <products> <product> <name>Radio</name> <price>79.99</price> <desc>Place for describe</desc> <
<?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>";
}
?>
产品作为$product){
echo$product->name;
回声“
”;
}
?>
我使用Wamserver。当我尝试在web浏览器中运行index.php时,会出现以下错误:
我想显示每个产品的名称。有人能告诉我如何解决这个问题吗?首先,XML无效,您需要在末尾添加一个结束标记:
</product>
</products>';
示例(使用php-a
):
$php-a
交互式模式已启用
php>$str=
php'
php'
php的收音机
php'79.99
php的位置
php'
php'
php电视
php'599.99
php的位置
php'
php'
php手册
php'75.00
php的位置
php'
php';
php>$products=simplexml\u load\u字符串($str);
php>foreach($products->product as$product){
php{echo$product->name;
php{echo“
”;
php{}
广播
电视
书籍
您的产品端块错误,您忘记了/
请找到正确的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>
无线电
79.99
描述地点
电视
599.99
描述地点
书
75
描述地点
您可以使用此网站在线检查xml:因为CommuSoft说您尚未关闭xml块
</product>
</products>';
';
您应该像CommuSoft所说的那样使用simplexml\u load\u string($str);
当您将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>
</product>
</products>';