【发布时间】:2016-02-02 07:32:18
【问题描述】:
我在 PHP 中读取了一个 XML 文件
$xml=simplexml_load_file("./files/downloaded.xml");
此文件包含许多不同类别的产品。 我想根据它们的类别将它们分开。 下面是通过以下代码读取文件视图的样子。
print "<pre>";
print_r($xml);
print "</pre>";
我用以下代码分隔产品
$baby = array();
for($x=0;$x < count($xml->product); $x++)
{
if( preg_match("#Groceries > ([ a-zA-Z0-9]+) >#i",$xml->product[$x]->category,$match) )
{
$match[1] = str_replace(" ", "" , strtolower($match[1]) );
if($match[1] == "baby"){
$baby[] = $xml->product[$x];
}
}
}
它被分隔在一个名为 $baby 的数组中,下面是婴儿数组的视图
print "<pre>";
print_r($baby);
print "</pre>";
现在我想将它保存为 baby.xml 和 baby.json 文件,但我不知道如何保存它。 我试过这段代码来保存这些文件
$baby_json = simplexml_load_string($baby);
$json = json_encode($baby_json);
file_put_contents("./files/foodcupobard.json",$json);
file_put_contents("./files/foodcupobard.xml",$baby);
但是分开后就不行了。 这是分离前的代码
$xml=simplexml_load_file("./files/downloaded.xml");
$xml_json = simplexml_load_string($xml);
$json = json_encode($xml_json);
file_put_contents("./files/baby.json",$json);
file_put_contents("./files/baby.xml",$xml);
分离后不起作用的原因是分离后{$baby}变成了一个数组而不是SimpleXMLElement对象。谁能帮我将这些分离的产品保存到 baby.xml 和 baby.json 文件中?或任何其他方式将这些产品与 php 代码分开?
任何帮助将不胜感激! 谢谢:)
【问题讨论】:
-
请编辑您的问题并键入 xml 的相关部分,而不是链接图像。外部服务器上的图片以后可能会被删除,到时候你的问题对其他开发者就没用了。
-
是的,请发布实际的 xml 或 php 输出。想帮忙,但这里没有可重现的例子。