<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=147736&amp;view=findpost&amp;p=1173944</guid>
        <pubDate>Wed, 12 Jul 2006 08:56:32 +0000</pubDate>
        <title>XML парсер</title>
        <link>https://forum.sources.ru/index.php?showtopic=147736&amp;view=findpost&amp;p=1173944</link>
        <description><![CDATA[Суть Зла: А что в &#036;str?]]></description>
        <author>Суть Зла</author>
        <category>XML, XSL, XSLT</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=147736&amp;view=findpost&amp;p=1173908</guid>
        <pubDate>Wed, 12 Jul 2006 08:45:49 +0000</pubDate>
        <title>XML парсер</title>
        <link>https://forum.sources.ru/index.php?showtopic=147736&amp;view=findpost&amp;p=1173908</link>
        <description><![CDATA[Proger: Все равно появляется та хрень, уже делаю так:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">&#60;?</div><div class="code_line">header(&#39;Content-type: text/plain&#39;);</div><div class="code_line">&nbsp;</div><div class="code_line">require_once(&#39;minixml.inc.php&#39;);</div><div class="code_line">&nbsp;</div><div class="code_line">$xmlDoc = new MiniXMLDoc();</div><div class="code_line">&nbsp;</div><div class="code_line">$str = implode(&#39;&#39;, file(&#39;./product.xml&#39;));</div><div class="code_line">&nbsp;</div><div class="code_line">$xmlDoc-&#62;fromString($str);</div><div class="code_line">&nbsp;</div><div class="code_line">print_r($xmlDoc-&#62;toArray());</div><div class="code_line">?&#62;</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script>]]></description>
        <author>Proger</author>
        <category>XML, XSL, XSLT</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=147736&amp;view=findpost&amp;p=1173830</guid>
        <pubDate>Wed, 12 Jul 2006 08:12:36 +0000</pubDate>
        <title>XML парсер</title>
        <link>https://forum.sources.ru/index.php?showtopic=147736&amp;view=findpost&amp;p=1173830</link>
        <description><![CDATA[Суть Зла: А тот код xml, что Вы предоставили - это и есть product.xml?<br>
<br>
Попробуйте посмотерть, что возвращается Вам в файле - возможно, следует открыть файл xml через file() и считать его построчно - какое содержание будет на выходе.<br>
Хотя еще лучше будет залезть в метод fromFile библиотеки miniXML и постараться достать получаемый код скриптом оттуда. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2006-07-12T08:14:49+00:00">12.07.06, 08:14</time></span></span><br>
Настоятельно реккомендую сделать для отладки так:<br>
1) открывать файл через file()<br>
2) скачивать его содержимое построчно в переменную &#036;str,<br>
3) открывать структуру не через fromFile(), а через fromString(&#036;str)<br>
<br>
Увидим, есть ли различие.]]></description>
        <author>Суть Зла</author>
        <category>XML, XSL, XSLT</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=147736&amp;view=findpost&amp;p=1173085</guid>
        <pubDate>Tue, 11 Jul 2006 14:28:08 +0000</pubDate>
        <title>XML парсер</title>
        <link>https://forum.sources.ru/index.php?showtopic=147736&amp;view=findpost&amp;p=1173085</link>
        <description><![CDATA[Proger: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=147736&view=findpost&p=1172861'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Суть Зла &#064; <time class="tag-quote__quoted-time" datetime="2006-07-11T13:12:28+00:00">11.07.06, 13:12</time></span><div class='quote '>ще одним решением может стать изменение структуры xml-документа:</div></div>Да, думаю так лучше будет :yes: <br>
<br>
Спасибо, посмотрю. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2006-07-11T14:49:21+00:00">11.07.06, 14:49</time></span></span><br>
Вроде все нормально, но появился вопрос, вот такая структура xml документа:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">&#60;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&#62;</div><div class="code_line">&#60;list&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp;&#60;operator&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&#60;item&#62;O2&#60;/item&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp;&#60;/operator&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp;&#60;operator&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&#60;item&#62;Alltel&#60;/item&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp;&#60;/operator&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp;&#60;operator&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&#60;item&#62;Sprint&#60;/item&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp;&#60;/operator&#62;</div><div class="code_line">&#60;/list&#62;</div></ol></div></div></div></div><br>
<br>
Код такой, как в примере:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">&#60;?php</div><div class="code_line">header(&#39;Content-type: text/plain&#39;);</div><div class="code_line">&nbsp;</div><div class="code_line">require_once(&#39;minixml.inc.php&#39;);</div><div class="code_line">&nbsp;</div><div class="code_line">$xmlDoc = new MiniXMLDoc();</div><div class="code_line">&nbsp;</div><div class="code_line">$xmlDoc-&#62;fromFile(&#39;./product.xml&#39;);</div><div class="code_line">&nbsp;</div><div class="code_line">print_r($xmlDoc-&#62;toArray());</div><div class="code_line">&nbsp;</div><div class="code_line">?&#62;</div></ol></div></div></div></div><br>
<br>
Выдает чего то такой результат:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">Array</div><div class="code_line">(</div><div class="code_line">&nbsp;&nbsp; &nbsp;[list] =&#62; Array</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;(</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[operator] =&#62; Array</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[0] =&#62; Array</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[item] =&#62; O2</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;)</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[1] =&#62; Array</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[item] =&#62; Alltel</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;)</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[_num] =&#62; 3 &nbsp; &nbsp; &nbsp; &nbsp; - откуда это берется???</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[2] =&#62; Array</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[item] =&#62; Sprint</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;)</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;)</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;)</div><div class="code_line">&nbsp;</div><div class="code_line">)</div></ol></div></div></div></div><br>
<br>
В чем может быть проблема?]]></description>
        <author>Proger</author>
        <category>XML, XSL, XSLT</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=147736&amp;view=findpost&amp;p=1172861</guid>
        <pubDate>Tue, 11 Jul 2006 13:12:28 +0000</pubDate>
        <title>XML парсер</title>
        <link>https://forum.sources.ru/index.php?showtopic=147736&amp;view=findpost&amp;p=1172861</link>
        <description><![CDATA[Суть Зла: Используй <a class='tag-url' href='http://minixml.psychogenic.com/' target='_blank'>miniXML</a> - один из самых простых и быстрых разборщиков XML.<br>
Функционал позволяет получать DOM-дерево, а затем и обходить его.<br>
<br>
PS: никто не будет тратить свое время и выкладывать готовое решение - гораздо эфективнее Вам будет разобраться самому (тем более с miniXML это отнимает у Вас от силы час). На сайте описаны все методы. Если что не будет понятно, спрашивайте здесь - обязательно помогут. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2006-07-11T13:20:32+00:00">11.07.06, 13:20</time></span></span><br>
У Вас не совсем правильно построена структура документа. Вернее будет сделать так:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">&#60;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&#62;</div><div class="code_line">&nbsp;&nbsp;&#60;list&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp;&#60;england&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;&#60;item&#62;London&#60;/item&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;&#60;item&#62;Chelsea&#60;/item&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp;&#60;/england&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp;&#60;france&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;&#60;item&#62;Paris&#60;/item&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;&#60;item&#62;Tylysa&#60;/item&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp;&#60;/france&#62;</div><div class="code_line">&nbsp;&nbsp;&#60;/list&#62;</div></ol></div></div></div></div><br>
<br>
Весь смысл в получении корня xml-документа (list), который является объектом класса <strong class='tag-b'>MiniXMLElement</strong>, у которого, в свою очередь, имеются потомки, которые можно получить через <strong class='tag-b'>getAllChildren()</strong>.<br>
<br>
Устроя цикл, вроде:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">$xml = new MiniXMLDoc();</div><div class="code_line">&nbsp;</div><div class="code_line">$xml-&#62;fromFile(&#39;&#39;);</div><div class="code_line">// или $xml-&#62;fromString(&#39;&#39;);</div><div class="code_line">&nbsp;</div><div class="code_line">$root = $xml-&#62;getRoot(&#39;list&#39;);</div><div class="code_line">if ($root) { &nbsp;</div><div class="code_line">&nbsp;&nbsp;$children = $root-&#62;getAllChildren();</div><div class="code_line">&nbsp;&nbsp;if (sizeof($children) &#62; 0) {</div><div class="code_line">&nbsp;&nbsp; &nbsp;foreach ($children as $child) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;// $child - тоже объект класса MiniXMLElement</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;....</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp;} &nbsp; </div><div class="code_line">}</div></ol></div></div></div></div><br>
<br>
Еще одним решением может стать изменение структуры xml-документа:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">&nbsp;&nbsp;&#60;list&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp;&#60;country name=&#39;england&#39;&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;.....</div><div class="code_line">&nbsp;&nbsp; &nbsp;&#60;/country&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp;&#60;country name=&#39;france&#39;&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;.....</div><div class="code_line">&nbsp;&nbsp; &nbsp;&#60;/country&#62;</div><div class="code_line">&nbsp;&nbsp;&#60;/list&#62;</div></ol></div></div></div></div><br>
<br>
Тогда обработать такой универсализированный документ гораздо проще]]></description>
        <author>Суть Зла</author>
        <category>XML, XSL, XSLT</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=147736&amp;view=findpost&amp;p=1172763</guid>
        <pubDate>Tue, 11 Jul 2006 12:35:24 +0000</pubDate>
        <title>XML парсер</title>
        <link>https://forum.sources.ru/index.php?showtopic=147736&amp;view=findpost&amp;p=1172763</link>
        <description><![CDATA[Proger: А кто то реально может помочь, а не давать ссылки на мануалы? Там разбиратся не одну неделю.]]></description>
        <author>Proger</author>
        <category>XML, XSL, XSLT</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=147736&amp;view=findpost&amp;p=1169644</guid>
        <pubDate>Sat, 08 Jul 2006 20:10:36 +0000</pubDate>
        <title>XML парсер</title>
        <link>https://forum.sources.ru/index.php?showtopic=147736&amp;view=findpost&amp;p=1169644</link>
        <description><![CDATA[Ho Im: В PHP имеются достаточно хорошие встроенные средства (XMLDOM, PEAR::XML для PHP4, родные функции обработки XML в PHP 5) &mdash; они просто _очень_ хорошо описаны на сайте php.net, так вот, просьба ознакомиться и использовать в дальнейшем.]]></description>
        <author>Ho Im</author>
        <category>XML, XSL, XSLT</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=147736&amp;view=findpost&amp;p=1168798</guid>
        <pubDate>Fri, 07 Jul 2006 15:22:32 +0000</pubDate>
        <title>XML парсер</title>
        <link>https://forum.sources.ru/index.php?showtopic=147736&amp;view=findpost&amp;p=1168798</link>
        <description><![CDATA[Proger: Помогите, нужно прочитать XML файл в массив, структура такая:<br>
<br>
1) Попроще<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">&#60;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&#62;</div><div class="code_line">&#60;operator&#62;</div><div class="code_line">&#60;item&#62;UMC&#60;/item&#62;</div><div class="code_line">&#60;item&#62;O2&#60;/item&#62;</div><div class="code_line">&#60;item&#62;Beeline&#60;/item&#62;</div><div class="code_line">&#60;/operator&#62;</div></ol></div></div></div></div><br>
Нужно сделать массив item. Я смог сделать псевдо-парсер, для случая когда каждый тэг в еденичном числе, а когда их много?<br>
<br>
2) Сложнее<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">&#60;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&#62;</div><div class="code_line">&#60;england&#62;</div><div class="code_line">&#60;item&#62;London&#60;/item&#62;</div><div class="code_line">&#60;item&#62;Chelsea&#60;/item&#62;</div><div class="code_line">&#60;/england&#62;</div><div class="code_line">&#60;france&#62;</div><div class="code_line">&#60;item&#62;Paris&#60;/item&#62;</div><div class="code_line">&#60;item&#62;Tylysa&#60;/item&#62;</div><div class="code_line">&#60;/france&#62;</div></ol></div></div></div></div><br>
Нужно сделать ассоциативный массив страна=&gt;город.<br>
<br>
Помогите плиз :wall:]]></description>
        <author>Proger</author>
        <category>XML, XSL, XSLT</category>
      </item>
	
      </channel>
      </rss>
	