我在这里阅读了许多有用的答案,其中大部分帮助我创建了用于从 XML 文件导入数据的脚本。问题是这次我有额外的部分与图像 url 的女巫也需要更新到 MySQL。
现在,我用 XML 中的数据更新 MySQL,然后使用其他脚本下载所需的图像。在具有 XML 提要的网站改变了它们的结构后,我无法弄清楚如何将数组中的图像 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));
}
无论我怎么尝试,我都无法将图像 url 导入数组中的 imageurl
MySQL 行。
最佳答案
要从上面的 xml 中获取图像 url,您必须再运行一个 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;
}
}
关于php - 使用 PHP 从 XML 文件更新 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27143565/