gpt4 book ai didi

php - for循环内当前SimpleXMLElement对象的Xpath查询

转载 作者:行者123 更新时间:2023-12-03 16:06:21 24 4
gpt4 key购买 nike

如何在for循环内的当前SimpleXMLElement对象上运行Xpath查询。例如

<?php
$xml = simplexml_load_string('<?xml version="1.0" encoding="ISO-8859-1"?>

<bookstore>

<book>
<title lang="eng">Harry Potter</title>
<price>29.99</price>
</book>

<book>
<title lang="eng">Learning XML</title>
<price>39.95</price>
</book>

</bookstore> ');


foreach ($xml as $value) {
$result = $value->xpath('//title');
var_dump($result);
break;
}
?>

array
0 =>
object(SimpleXMLElement)[189]
public '@attributes' =>
array
'lang' => string 'eng' (length=3)
string 'Harry Potter' (length=12)
1 =>
object(SimpleXMLElement)[188]
public '@attributes' =>
array
'lang' => string 'eng' (length=3)
string 'Learning XML' (length=12)


这将输出两个书本元素的结果,而我的意图是仅显示第一本书。我正在尝试仅在for循环中的$ value对象上运行查询,因为我可能想在每本书上运行不同的查询(因此它必须处于循环中!)而不是在当前的每本书上都不能运行在做。

最佳答案

您可以使用.表示当前节点。因此,./Foo选择名为Foo的直接子代,而.//Foo选择所有名为Foo的后代。

如果没有点,则假定//指向文档的根,并在整个文档中选择所有称为Foo的内容。

关于php - for循环内当前SimpleXMLElement对象的Xpath查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13761339/

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