读取xml:xpath可以读取2个字段吗? - php

我正在使用SimpleXMLElement和xpath尝试从最底部的xml读取<subcategory><name>。这段代码可以工作..但是while循环中的内容看起来有些混乱,现在我也想获取<subcategory><count>并以某种方式将其与相应的<subcategory><name>配对。

$names = $xml->xpath('/theroot/category/subcategories/subcategory/name/'); 
while(list( , $node) = each($names)) {
    echo $node; 
}

我的问题:仍然可以使用xpath进行配对,因为看起来它可以使工作更轻松?

<theroot>
<category>
  <name>Category 1</name>
  <subcategories>
      <subcategory>
          <name>Subcategory 1.1</name>
          <count>18</count>
      </subcategory>
      <subcategory>
          <name>Subcategory 1.2</name>
          <count>29</count>
      </subcategory>
  </subcategories>
</category>

<category>
  <name>Category 2</name>
  <subcategories>
      <subcategory>
          <name>Subcategory 2.1</name>
          <count>18</count>
      </subcategory>
      <subcategory>
          <name>Subcategory 2.2</name>
          <count>29</count>
      </subcategory>
  </subcategories>
</category>
</theroot>

参考方案

如果您使用的是SimpleXML,并且知道确切的布局,则这样做可能会更容易:

$subcategories = $xml->xpath('/theroot/category/subcategories/subcategory');
foreach($subcategories as $subcategory){
    echo $subcategory->name.'='.$subcategory->count;
}

使用XPath,您当然可以选择subcategory的所有子节点,但是将它们配对备份可能比仅在最后一个节点使用xpath麻烦。

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

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

PHP:检查谁看过发送的电子邮件? - php

我正在向某些用户发送电子邮件,并且想知道是谁阅读的,这意味着如果有人阅读了该电子邮件,则将维护一个日志文件,其中包含该用户的电子邮件地址以及日期/时间/ IP。为此,我发送一个带有电子邮件(html模板)的javascript函数,当用户打开该电子邮件时,它仅会警告用户的电子邮件地址,例如:for($n=0; $n<sizeof($checkBox);…

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

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

我这里需要结尾的分号吗? - php

例:<?php $formElement->display()?> 可以吗,还是我应该提供? ?好吧,我猜想PHP解释器足够聪明,可以看到由于结尾的?>,该行已完成并且表达式已完成。对? 参考方案 它不是必需的,但您应该放它,这是一种很好的做法。这样,您需要在这条指令之后添加另一条指令的那一天,它将很好地工作。这是回答您问题的手册页面…

通过>和<运算符比较日期 - php

在我的所有php代码中,我都在UTC中存储日期和时间,但是我也在使用mysql存储日期时间(也在utc中)。大于和小于运算符会导致日期比较失败吗? $curdate=date('Y-m-d H:i:s'); if($start_datetime>$curdate) 参考方案 不。他们没有办法失败。为此,特意制作了MySQL日期格式。…