代码之家  ›  专栏  ›  技术社区  ›  Joel A. Villarreal Bertoldi

在PHP上使用xpath:如何选择第一个子对象?

  •  2
  • Joel A. Villarreal Bertoldi  · 技术社区  · 16 年前

    我有这样一个XML结构:

    <layout>
        <pattern> ... </pattern>
        <row> ... </row>
    </layout>
    

    如何选择的第一个节点 <layout> 通过它的索引,使用XPath?

    /bookstore/book[1]/title ,但是 says :

    IE5和更高版本实现了[0]应该是第一个节点,但根据W3C标准,它应该是[1]!!


    要解决IE5+中的[0]和[1]问题,可以将SelectionLanguage设置为XPath。

    但这是特定于客户的。PHP手册对此也不是很清楚。

    1 回复  |  直到 6 年前
        1
  •  5
  •   VolkerK    16 年前

    正如费利克斯所说:试一试怎么样?

    $l = new SimpleXMLElement('<layout>
      <pattern> ... </pattern> 
      <row> ... </row>  
    </layout>');
    foreach($l->xpath('/layout/*[1]') as $n) {// yeah yeah, it's only one....
      echo $n->getName();
    }
    

    印刷品 pattern . (php 5.3.1/win32/php.net构建)