Php 在simplexml中循环加载文件结果
我试图使用simplexml\u load\u文件将xml文件中的信息转换成变量。 xml文件的结构为:Php 在simplexml中循环加载文件结果,php,xml,simplexml,Php,Xml,Simplexml,我试图使用simplexml\u load\u文件将xml文件中的信息转换成变量。 xml文件的结构为: <root> <item> <sku></sku> <weight></weight> <Price></Price> <media> <images></images&g
<root>
<item>
<sku></sku>
<weight></weight>
<Price></Price>
<media>
<images></images>
<images></images>
<images></images>
</media>
<short_description>
<![CDATA[]]>
</short_description>
<description>
<![CDATA[]]>
</description>
</item>
<item>
<sku></sku>
<weight></weight>
<Price></Price>
<media>
<images></images>
<images></images>
<images></images>
</media>
<short_description>
<![CDATA[]]>
</short_description>
<description>
<![CDATA[]]>
</description>
</item>
</root>
这是我到目前为止所做的,但它只获取每个项目的第一个图像,而不是所有的图像。除此之外,它似乎运行良好
$xml_url="accessories.xml";
$xml = simplexml_load_file($xml_url);
foreach($xml->item as $_item){
echo $_item->sku . " - ";
echo $_item->weight . " - ";
echo $_item->Price . " <br/>";
//echo $_item->short_description . " <br/><br/>";
foreach($_item->media as $_media){
echo $_media->images . "<br/>";
}
}
$xml\u url=“accessories.xml”;
$xml=simplexml\u load\u文件($xml\u url);
foreach($xml->item as$\u item){
echo$商品->库存单位。“-”;
echo$_项目->重量。“-”;
echo$商品->价格。“
”;
//echo$项目->简短描述。“
”;
foreach($\项->介质为$\介质){
echo$_媒体->图像。“
”;
}
}
我的php和xml技能非常有限,因此我非常感谢您提供的任何帮助。谢谢尝试以下循环:
foreach($_item->media->children() as $_img){
echo $_img . "<br/>";
}
foreach($\u item->media->children()作为$\u img){
echo$_img.“
”;
}
这将节省两次循环。您应该像下面那样使用foreach
foreach($_item->media->images as $_media){
echo $_media . "<br/>";
}
var_dump($_item->media);
object(SimpleXMLElement)[5]
public 'images' =>
array (size=3)
0 => string '1' (length=1)
1 => string '2' (length=1)
2 => string '3' (length=1)