大佬教程收集整理的这篇文章主要介绍了使用PHP中具有多个相同名称属性的XML文件解析数据,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图从下面的XML解析数据(我将数据缩短了很多,以举例说明数据的样子).
对于每个属性,我需要将数据存储在单独的数组中.
XML文件
<report>
<title>Resolution Times (Jun 07 00:21)</title>
<sets>
<set>
<legend>Solved in Less than 2 Hours</legend>
<values>
<value data="8702" date="2012-05-24"/>
<value data="8741" date="2012-05-25"/>
<value data="8741" date="2012-05-26"/>
<value data="8741" date="2012-05-27"/>
</values>
</set>
<set>
<legend>Solved in Less than 24 Hours</legend>
<values>
<value data="36990" date="2012-05-24"/>
<value data="37094" date="2012-05-25"/>
<value data="37096" date="2012-05-26"/>
<value data="37144" date="2012-05-27"/>
</values>
</set>
</sets>
</report>
以下是我正在尝试读取数据的一些测试代码.出于测试目的,我只是打印一下以查看实际提取了哪些数据.
$verifyReport = new SimpleXMLElement('305262.xml', null, truE);
$tesTing = $verifyReport->sets->set->values->value;
echo '<ol>';
foreach($tesTing as $data)
{
echo '<li>',
$data['data'].PHP_EOL;
echo '</li>';
}
echo '</ol>';
$tesTing1 = $verifyReport->sets->sets->values->value;
echo '<ol>';
foreach($tesTing1 as $data2)
{
echo '<li>',
$data2['data'].PHP_EOL;
echo '</li>';
}
echo '</ol>';
下面是数据的输出
1. 8702
2. 8741
3. 8741
4. 8741
Warning: Invalid argument supplied for foreach() in
/Applications/XAMPP/xamppfiles/htdocs/tango/test.PHP on line 23
我可以拉入第一组数据(在不到2小时内解决),但是当我尝试从第二组数据(在不到24小时内解决)拉出数据时,出现上述错误.
任何人都可以帮助解决此问题吗?
解决方法:
在第二个块中,您有$tesTing1 = $verifyReport-> sets-> sets-> values-> value;因此,我想必须设置第二组.但是无论如何,为什么不遍历$verifyReport-> sets并读取for循环中的其他值呢?
new SimpleXMLElement('305262.xml', null, truE);
foreach ($verifyReport->sets->set as $set) {
echo '<ol>';
foreach ($set->values->value as $data) {
echo '<li>',
$data['data'] . PHP_EOL;
echo '</li>';
}
echo '</ol>';
}
以上是大佬教程为你收集整理的使用PHP中具有多个相同名称属性的XML文件解析数据全部内容,希望文章能够帮你解决使用PHP中具有多个相同名称属性的XML文件解析数据所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。