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

如何在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的内容。

验证IBAN PHP - php

在设计新平台时,我们尝试集成IBAN编号。我们必须确保IBAN已经过验证,并且存储在数据库中的IBAN始终正确。那么验证数字的正确方法是什么? 参考方案 正如我在其他问题中解释的逻辑一样,我尝试自己创建一个函数。根据Wikipedia文章中解释的逻辑,在下面找到合适的功能。国家特定验证。它适合吗http://en.wikipedia.org/wiki/Int…

php Singleton类实例将在多个会话中保留吗? - php

举一个简单的例子,如果我想计算一个不使用磁盘存储的脚本的命中次数,我可以使用静态类成员来执行此操作吗?用户1:<?php $test = Example::singleton(); $test->visits++; ?> 用户2:<?php $test = Example::singleton(); $test->visits+…

PHP PDO组按列名称查询结果 - php

以下PDO查询返回以下结果:$db = new PDO('....'); $sth = $db->prepare('SELECT ...'); 结果如下: name curso ABC stack CDE stack FGH stack IJK stack LMN overflow OPQ overflow RS…

PHP:对数组排序 - php

请如何排序以下数组Array ( 'ben' => 1.0, 'ken' => 2.0, 'sam' => 1.5 ) 至Array ( 'ken' => 2.0, 'sam' => 1.5, 'ben' =&…

php:将分钟取整到最近的四分之一小时,然后执行更多操作 - php

最初的问题是这样的:取分钟数->转换为四分之一小时-> 1个四分之一小时为1个单位->输出单位我今天整天都在整理页面,几分钟前我的大脑就停止工作了,我只是不知道如何输出单位数量。我知道在此网站上发布问题会有所帮助。因此,用户输入的分钟数(不是小时和分钟,而是数分钟),站点需要输出单位数量。单位是一个刻钟。分钟总是四舍五入到最近的四分之一小时…