xPath

Тема в разделе "PHP Pro", создана пользователем Casper_R, 8 дек 2009.

Статус темы:
Закрыта.
  1. Casper_R

    Casper_R Создатель

    Регистр.:
    3 май 2007
    Сообщения:
    87
    Симпатии:
    25
    Господа, если кто знаком с xPath поможите:
    из такого XML файла
    PHP:
    <root>
      <
    item name="One">
        <
    subitem name="one_child1">
          <
    trash>bla bla</trash>
        </
    subitem>
        <
    subitem name="one_child2">
          <
    trash>bla bla</trash>
        </
    subitem>
      </
    item>
    <
    item name="Two">
        <
    subitem name="two_child1">
         <
    trash>bla bla</trash>
        </
    subitem>
      </
    item>
    </
    root>
    надо выбрать аттрибуты "name" из ветки "item" и "subitem" таким образом, чтобы в результате получить без лишнего мусора массив, где:
    PHP:
    One => Array
     (
     [
    name] => one_child1 
     
    [name] => one_child2
     
    )
    Two => Array
     (
     [
    name] => two_child1
     
    )
    P.S. массив результатов в упрощенном виде без синтаксиса xPath для наглядности

    иными словами надо выбрать item и subitem (сохраняя вложенность) и исключить из результатов <trash>
     
  2. CrashX

    CrashX В прошлом XSiteCMS

    Регистр.:
    6 июн 2008
    Сообщения:
    682
    Симпатии:
    112
    а значение не нужно?
    если нет то тут рекурсия по поиску поттернов
    первый содержит
    второй поттерн
    и все... с помошью регулярного выражения можно выдергитьвать..
     
    Casper_R нравится это.
  3. Casper_R

    Casper_R Создатель

    Регистр.:
    3 май 2007
    Сообщения:
    87
    Симпатии:
    25
    значение
    PHP:
    <trash>bla bla</trash>
    как раз не нужно. нужны только значения аттрибутов item и subitem

    вот как эти паттерны правильно прописать в выборку xpath
    PHP:
    $xml->xpath("...");
    ?
     
Статус темы:
Закрыта.