我在这里阅读了许多有用的答案,其中大部分帮助我创建了从XML文件导入数据的脚本。问题是,这次我有额外的部分与图像url的女巫也需要更新到MySQL。
现在,我使用XML中的数据更新MySQL,然后使用其他脚本下载所需的图像。在使用XML feed的网站改变了它们的结构后,我有问题弄清楚如何将数组中的图像url更新为MySQL行,以便我可以在此之后下载图像。
即使我选择下载图像而不更新到MySQL,我也无法下载它们。
这是XML结构
<ArrayOfUnitDTO xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<UnitDTO>
<Category>Category name</Category>
<code>863</code>
<Status>Blocked</Status>
<RefNo>12345</RefNo>
<Images>
<Image>
<Title>Community</Title>
<ImageURL>http://imageaddress.com/images/watermark.aspx?imageurl=/uf/1015/GroupUpdate/unit/350/350_Image.jpg&width=640&group=1015&module=1&watermarktype=default&position=Center</ImageURL>
</Image>
<Image>
<Title>Local Area Image</Title>
<ImageURL>http://imageaddress.com/images/watermark.aspx?imageurl=/uf/1015/GroupUpdate/unit/631/631_Image.jpg&width=640&group=1015&module=1&watermarktype=default&position=Center</ImageURL>
</Image>
</Images>
</UnitDTO>
</ArrayOfUnitDTO>
我正在使用此
foreach ($listings ->UnitDTO as $listingInfo) //loop read xml
{
$RefNo = $listingInfo->RefNo;
$Category = $listingInfo->Category;
$code = $listingInfo->code;
$Status = $listingInfo->Status;
mysqli_query($link,"REPLACE INTO UnitDTO (`RefNo`, `Category`, `code`, `Status`) VALUES ('$RefNo', '$Category', '$code', '$Status',)") or die(mysqli_error($link));
}
没有遇到我尝试的东西,我无法将图片网址导入数组中的imageurl
MySQL行。
答案 0 :(得分:2)
要从xml以上获取图片网址,你必须再运行一个foreach循环,尝试类似下面的代码并按照你的要求使用它。
foreach ($listings ->UnitDTO as $listingInfo){
$RefNo = $listingInfo->RefNo;
$Category = $listingInfo->Category;
$code = $listingInfo->code;
$Status = $listingInfo->Status;
foreach ($listingInfo->Images->Image as $image){
echo $image->ImageURL;
}
}