在 PHP 中使用多个查询加载 XML 数据时出现问题

我有以下 XML 文件


<response>

<query>hello</query>

<zone name="url">

    <records s="*" n="0" total="0"/>

</zone>

<zone name="people">

    <records s="*" n="20" total="58" next="/result?q=hello&zone=people&s=AoIIRib9grewqTU2MGRkMS02YzgzLTQxYQ%3D" nextStart="AoIIRib9GD8NaWRlbnRpddfsdfk0OWQ=">

        <people id="1140172" url="/people/1140172">

        </people>

        <people id="1482231" url="/people/1482231">

        </people>

        <people id="832153" url="/people/832153">

        </people>

    </records>

</zone>

<zone name="collection">

    <records s="*" n="20" total="496" next="/result?q=hello&zone=collection&s=AoIIQsdfszdTIyNzc3MDUzNg%3D%3D" nextStart="AoIIQ3sHAysdfdszc3MDUzNg==">

        <work id="208227193" url="/work/208227193">

        </work>

        <work id="225096966" url="/work/225096966">

        </work>

        <work id="225096968" url="/work/225096968">

        </work>

    </records>

</zone>

<zone name="gazette">

    <records s="*" n="20" total="91239" next="/result?q=hello&zone=gazette&s=AoIIRdAyNjk3NzQ%3D" nextStart="AoIIgdfgek3NzQ=">

        <article id="249121748" url="/newspaper/249121748">

        </article>

        <article id="225072553" url="/newspaper/225072553">

        </article>

        <article id="249121741" url="/newspaper/249121741">

        </article>

    </records>

</zone>

<zone name="book">

    <records s="*" n="20" total="9245" next="/result?q=hello&zone=book&s=AogxMjk1Mg%3D%3D" nextStart="AoIIQ6HewytzdTIjk1Mg==">

        <work id="19554432" url="/work/19554432">

        </work>

        <work id="31597077" url="/work/31597077">

        </work>

        <work id="11135964" url="/work/11135964">

        </work>

    </records>

  </zone>

</response>

我正在尝试使用相同的数据在同一页面上运行多个查询,但它有一些小故障。有些“区域”会加载,有些则不会。

然后在部分中,我使用以下内容来显示结果,但它不会一次加载所有区域。如果我单独运行查询,它们就可以正常工作。


手掌心
浏览 55回答 1
1回答

慕慕森

使用 Xpath 通过名称属性而不是位置来获取区域。$response = new SimpleXMLElement($xmlString);$books = $response->xpath('//zone[@name="books"]/records/*');foreach ($books as $book) {&nbsp; // ...}&nbsp;
打开App,查看更多内容
随时随地看视频慕课网APP