Bomber
Новичок
XML+PHP Xpach помогите с извлечением данных
Простите за наглость на форуме PHP+MySQL уже писал но подумал что модераторы разные =-)
Есть такой код PHP работы с XML
$xml = join('',file('export.xml'));
$xml = xmldoc ($xml);
$xml->xpath_init();
$ctx0 = xpath_new_context($xml);
$nodes0 = xpath_eval($ctx0,'//ware');
foreach($nodes0->nodeset as $node0)
{
$currentNews0['idprod'] = $node0->get_attribute('idprod');
$news0[] = $currentNews0;
}
Есть такой XML (export.xml соттв.)
<subcatalog>
<catalog idcat="1" >
<ware idprod="1">
<text header="q1"></text>
<option id="1" text="111" desc="221"></option>
<option id="1" text="112" desc="222"></option>
</ware>
<ware idprod="2">
<text header="sds"></text>
<option id="2" text="113" desc="222"></option>
</ware>
</catalog>
<catalog idcat="2">
<ware idprod="3">
<text header="sd"></text>
<option id="3" text="118" desc="222"></option>
</ware>
<ware idprod="4">
<text header="sd"></text>
<option id="4" text="119" desc="222"></option>
</ware>
</catalog>
</subcatalog>
А теперь вопрос X-path считывает массивно !!! WARE тэги в массив $news0, как запихать текущую idcat тэга CATALOG. Я имею ввиду сущестует или есть у кого нибудь опыт записи в массив не сразу всех тэгов а по порядку с поиском (прикол в том что не это не описано в PHP4) Обьясню что последовательность в массиве должна быть $news0['id'] 1 1 2 2.
######################################################
Вот прошу помоч получить массив (можно двумерный) примерно такой
idprod idcat
1 -------- 1
2 -------- 1
3 -------- 2
4 -------- 2
Загвоздка в том что немогу цикл разобрать или остановить потому как считывается все в массив залпом (простите что повторяюсь от безысходности наверно) а в PHP ничего не документировано !!!
Простите за наглость на форуме PHP+MySQL уже писал но подумал что модераторы разные =-)
Есть такой код PHP работы с XML
$xml = join('',file('export.xml'));
$xml = xmldoc ($xml);
$xml->xpath_init();
$ctx0 = xpath_new_context($xml);
$nodes0 = xpath_eval($ctx0,'//ware');
foreach($nodes0->nodeset as $node0)
{
$currentNews0['idprod'] = $node0->get_attribute('idprod');
$news0[] = $currentNews0;
}
Есть такой XML (export.xml соттв.)
<subcatalog>
<catalog idcat="1" >
<ware idprod="1">
<text header="q1"></text>
<option id="1" text="111" desc="221"></option>
<option id="1" text="112" desc="222"></option>
</ware>
<ware idprod="2">
<text header="sds"></text>
<option id="2" text="113" desc="222"></option>
</ware>
</catalog>
<catalog idcat="2">
<ware idprod="3">
<text header="sd"></text>
<option id="3" text="118" desc="222"></option>
</ware>
<ware idprod="4">
<text header="sd"></text>
<option id="4" text="119" desc="222"></option>
</ware>
</catalog>
</subcatalog>
А теперь вопрос X-path считывает массивно !!! WARE тэги в массив $news0, как запихать текущую idcat тэга CATALOG. Я имею ввиду сущестует или есть у кого нибудь опыт записи в массив не сразу всех тэгов а по порядку с поиском (прикол в том что не это не описано в PHP4) Обьясню что последовательность в массиве должна быть $news0['id'] 1 1 2 2.
######################################################
Вот прошу помоч получить массив (можно двумерный) примерно такой
idprod idcat
1 -------- 1
2 -------- 1
3 -------- 2
4 -------- 2
Загвоздка в том что немогу цикл разобрать или остановить потому как считывается все в массив залпом (простите что повторяюсь от безысходности наверно) а в PHP ничего не документировано !!!