pylyp
Новичок
Я новичек, ногами сильно не бейте
...
Есть куча XML-файлов общим объемом около 400 мб. Из них надо выбрать определенные данные и внести их в mySQL
Вопрос 1.
Насколько эффективен такой способ обработки данных? Есть ли альтернативы?
Вопрос 2.
Есть проблема с experience-points из-за минуса в названии элемента. Такое обозначение в XML. В PHP выдает "0" вместо значения элемента. Как это обойти? Я додумался только до предварительной замены в XML, но как то это топорно...

Есть куча XML-файлов общим объемом около 400 мб. Из них надо выбрать определенные данные и внести их в mySQL
Для разбора XML, я использую такую конструкцию (пока с выводом на экран, потом это будет заполнение базы)<?xml version="1.0" encoding="UTF-8"?>
<citizens>
<citizen>
<name>Khiechan07</name>
<party></party>
<military-skills>
<military-skill>
<points>35.000</points>
</military-skill>
</military-skills>
<wellness>0.00</wellness>
<date-of-birth>2009-05-14 13:52:32</date-of-birth>
<level>1</level>
<citizenship>
<region>
<id>645</id>
</region>
<country>
<id>67</id>
</country>
</citizenship>
<experience-points>340</experience-points>
<id>1482987</id>
</citizen>
...
</citizens>
PHP:
<?php
$xml = simplexml_load_file('citizens.xml');
$num = count ($xml->citizen);
for ($i = 0; $i < $num; $i++)
{
echo $xml->citizen[$i]->id;
echo $xml->citizen[$i]->name;
echo $xml->citizen[$i]->experience-points;
echo "<br/>";
}
?>
Вопрос 1.
Насколько эффективен такой способ обработки данных? Есть ли альтернативы?
Вопрос 2.
Есть проблема с experience-points из-за минуса в названии элемента. Такое обозначение в XML. В PHP выдает "0" вместо значения элемента. Как это обойти? Я додумался только до предварительной замены в XML, но как то это топорно...