【发布时间】:2013-05-04 06:14:36
【问题描述】:
我有以下代码来查找匹配 preg_match 的 xml 元素
foreach($xml->Items->Item->AlternateVersions->AlternateVersion->Binding as $BookBinding) { //loop through the xml data to find the correct ASIN for the kindle edition
foreach ($xml->Items->Item->AlternateVersions->AlternateVersion->ASIN as $Kindlestring)
{
var_dump ($BookBinding);
if (preg_match('/Kindle Edition/i',$BookBinding))
{
//do stuff
}
}
}
然而只是var_dumping Binding的第一个循环,怎么会呢?
【问题讨论】:
-
没有看到你的数据很难说。先做一些基本的调试。添加一些 echo 语句以查看循环失败的位置。确保错误报告已打开。确保 XML 对象实际上允许您遍历您尝试迭代的元素。
-
@Brad 循环甚至没有进入 if 语句,我做了一个 var_dump,它只给了我 Binding 的第一个值,
-
我猜你在 xml 中只有一项?
-
不确定为什么要以这种方式遍历兄弟元素。当前版本的代码中未引用内部循环,因此也许您应该将其删除以使其更清晰。
-
@user2349095 什么是“为隐私而隐藏”?