PHP üzerinde XPath: İlk çocuğu seçmek nasıl?

1 Cevap php

Ben bu gibi bir XML yapısı vardır:

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

Nasıl XPath kullanarak, kendi endeksine göre <layout> ilk düğümünü seçebilirsiniz?

W3Schools /bookstore/book[1]/title benzer bir sözdizimi belirtir, ancak daha sonra says:

Bu bir sorun var. Yukarıdaki örnekte IE ve diğer tarayıcılarda farklı sonuçlar gösterir.

Daha sonra IE5 ve [0] ilk düğüm olması gerektiğini hayata geçirdi, ancak W3C standartlarına göre o olmalıydı [1]!

A Workaround!
To solve the [0] and [1] problem in IE5+, you can set the SelectionLanguage to XPath.

Ama bu istemci özgü bulunuyor. PHP manuel ya da bu konuda çok açık değildir.

1 Cevap

Felix dediği gibi: Ne hakkında çalışıyor?

$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();
}

baskılar pattern. (Php 5.3.1/win32/php.net build)