我有以下 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>我正在尝试使用相同的数据在同一页面上运行多个查询,但它有一些小故障。有些“区域”会加载,有些则不会。然后在部分中,我使用以下内容来显示结果,但它不会一次加载所有区域。如果我单独运行查询,它们就可以正常工作。
1 回答
慕慕森
TA贡献1856条经验 获得超17个赞
使用 Xpath 通过名称属性而不是位置来获取区域。
$response = new SimpleXMLElement($xmlString);
$books = $response->xpath('//zone[@name="books"]/records/*');
foreach ($books as $book) {
// ...
}
- 1 回答
- 0 关注
- 54 浏览
添加回答
举报
0/150
提交
取消