xPath и Parent node

RUNET

Новичок
xPath и Parent node

Собсно есть такая структура

<section>
<event type="1">
<place id="12321">Текст</place>
</event>
</section>
<item>
<place id="12321">
<name>bla bla</name>
<addr>bla bla</addr>
</place>
</item>

Задача, одним запросом вытащить всю нужную инфу
обращась к атрибуту type в section->event, необходимо вытащить данные из item->place

сейчас имею
$feed->xpath("//section[@type='".$current_type."']/place");
плясал с parent:: , но что-то как-то ничего не вышло, для меня это все достаточно в новинку, редко использую.

почему одним запросом? потому что фаил большой (10мб) и будет расти ... (xml генерю не я...)
и делать выборку сначала id'шников, а потом по ним ползать по нужному дереву, не есть гут
тормозит сильно =/

возможно исполнить то что я хочу ? или это маразм ?
 

slach

Новичок
с XPath по 10 мегабайтам тормозить будет не меньше
потому что тормозит не XPath а ПАРСИНГ и разбор в DOM дерево

попробуйте изменить стратегию парсинга и заюзать например XMLReader

http://php.net/manual/ru/book.xmlreader.php

PHP:
<?
//выберется и item и section, с нужным current_type'ом, но если place/id несколько то тебе все равно придется уточнять, по меому ты просто не понимаешь что и ЗАЧЕМ делаешь
$feed->xpath('//item[place/@id=//section[@type=$current_type]/place/@id]|//section[@type=$current_type]');
?>
[php]
 
Сверху