gpt4 book ai didi

PHP XML 遍历出错

转载 作者:数据小太阳 更新时间:2023-10-29 02:31:41 24 4
gpt4 key购买 nike

我正在遍历一个 xml 文件,如下所示:

<?xml version="1.0" encoding="ISO-8859-1"?>
<wrapper>
<site base="http://www.example1.co.uk/" name="example 1">
<page>page1/</page>
</site>
<site base="http://www.example2.co.uk/" name="example 2">
<page>page2/</page>
</site>
</wrapper>

我的 php 是这样的:

xml = simplexml_load_file("siteList.xml");
foreach ($xml->site as $site => $child) {
foreach ($xml->$site->page as $a => $page) {
$endUrl = ($child["base"] . "" . $page);
print_r($endUrl . "<br />");
}
}

技术上有效,但返回以下内容:

http://www.example1.co.uk/page1/
http://www.example2.co.uk/page1/

代替:

http://www.example1.co.uk/page1/
http://www.example2.co.uk/page2/

它以某种方式使用了前一个循环中的 page,我无法解决它:'(

提前致谢!

最佳答案

您应该为内部循环迭代 $child,但您没有。要修复它,请更改它

foreach ($xml->$site->page as $a => $page) {

对此

foreach ($child as $page) { // you don't even need the $a

您还可以将外循环简化为 foreach ($xml->site as $child) 因为您不关心 key ;如果您这样做,将 $child 重命名为 $site 将是提高可读性的合乎逻辑的下一步。

关于PHP XML 遍历出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9769077/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com