我有一个XML文件的问题我一直试图用PHP回声而不用一长串文本。
我首先运行此代码来创建我的数据库中所有产品的XML页面:
<?php
$cfg = Array();
$cfg['db_host'] = '***';
$cfg['db_user'] = '***';
$cfg['db_password'] = '***';
$cfg['db_name'] = '***';
mysql_connect($cfg['db_host'], $cfg['db_user'], $cfg['db_password']);
mysql_select_db($cfg['db_name']);
unset($cfg);
$result = mysql_query("SELECT * FROM Artikelen");
$xml = new SimpleXMLElement('<xml/>');
while($row = mysql_fetch_assoc($result)) {
$draw = $xml->addChild('draw');
$draw->addChild('Product_Id',$row['Pr_Id']);
$draw->addChild('Product',$row['Product']);
$draw->addChild('Prijs',$row['Prijs']);
}
$fp = fopen("Artikelen.xml","wb");
fwrite($fp,$xml->asXML());
fclose($fp);
?>
然后我从另一个文件运行此代码以显示.XML
:
<?php
$xml=simplexml_load_file("Artikelen.xml");
print_r($xml);
?>
这表明:
SimpleXMLElement Object ( [draw] => Array ( [0] => SimpleXMLElement Object ( [Product_Id] => 1 [Product] => Pizza Margherita [Prijs] => 7.00 )))
时间11合1长线,因为我有11个产品。我尝试了一些事情:
<?php
$xml=simplexml_load_file("Artikelen.xml");
echo $xml->Product_Id . "<br>";
echo $xml->Product . "<br>";
echo $xml->Prijs . "<br><br>";
?>
但这似乎不起作用。
这是我第一次使用XML文件,因此它可能是一个非常简单的解决方案。
先谢谢!如果您似乎错过了相关信息,请告诉我。
答案 0 :(得分:1)
无需重新发明轮子。 Echo file_get_contents(),如下面的解决方案。
https://stackoverflow.com/a/1199643/2257899
编辑:
如果查看print_r()结果,您会看到它包含一个数组。尝试:
<?php
$xml=simplexml_load_file("Artikelen.xml");
echo $xml["Product_Id"] . "<br>";
echo $xml["Product"] . "<br>";
echo $xml["Prijs"] . "<br><br>";
?>
答案 1 :(得分:1)
如果你想坚持使用print_r(),只需在之前和之后回复预标签。
例如:
<?php
$xml=simplexml_load_file("Artikelen.xml");
echo '<pre>';
print_r($xml);
echo '</pre>';
?>
答案 2 :(得分:0)
您可以使用asXml方法显示xml:
$xml=simplexml_load_file("Artikelen.xml");
echo $xml->asXML();