Карта сайта

Это автоматически сохраненная страница от 13.01.2013. Оригинал был здесь: http://2ch.hk/b/res/41631646.html
Сайт a2ch.ru не связан с авторами и содержимым страницы
жалоба / abuse: admin@a2ch.ru

Вск 13 Янв 2013 17:32:08
XML XPath
Реквестирую ПХП-куна.

Есть ХМЛ с такой структорой
<main>
<catalogs>
<catalog id="0">
<item type="f"/>
<item type="d"/>
<item type="g"/>
</catalog>
<catalog id="1">
<item type="y"/>
<item type="z"/>
<item type="w"/>
</catalog>
</catalogs>
</main>


Нужно вытащить id каталога, в котором Итемы типа z,y,w присутсвуют одновременно.

Код, для вытаскивания каталога, где только один из итемов у меня такой:
$xml = simplexml_load_file(&amp;#39;ru_RU.xml&amp;#39;);
$select = $xml->xpath(&amp;#39;/main/catalogs/catalog/item[@type="y"]/parent::*&amp;#39;);


Еще одна трудность в том, что записей в ХМЛ файле более 300 тысяч, по этому хочется ресурсосберегающий способ выполнения задачи.




Вск 13 Янв 2013 17:39:51
бапмусики

на стековерфлоу нашел совет к другой, но похожей ситуации:
/a/b/*[self::c or self::d or self::e]

не пойму как его под себя приспосбить

Вск 13 Янв 2013 17:44:25
http://stackoverflow.com/questions/6718335/use-xpath-to-select-elements-with-a-set-of-multiple-attributes-values

нашел свою ситуацию, сейчас попробую разобраться

Вск 13 Янв 2013 17:45:55
>>41632297
Расскажи, получится ли.

Вск 13 Янв 2013 17:54:39
>>41632381

Всё, разобрался.

Надо так:
$select = $xml->xpath(&amp;#39;/main/catalogs/catalog[item/@type="y" and item/@type="z" and item/@type="w"]&amp;#39;);




← К списку тредов