Парсинг XML

Печать / RSS-лента
0
1. Алексей (04.03.18 / 20:23)
Пацак
Всем привет.
Возникли затруднения при парсинге XML.
<?xml version="1.0"?>
<Quest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="1">
<Parameter Id="1" Name="Вспомогательный: Дед, Кража." StartExpressionValue="0" VisibilityChange="NoChange Hide" ExpressionVisibility="false" ExpressionCriticalValue="false" CriticalLocationId="0" />
</Quest>


<?php
$xmlstr = 'languages.xml';
$xml = simplexml_load_file($xmlstr);
foreach($xml->Parameter as $array) {
var_dump($array); echo '<br>';
}
?>

Выдает
object(SimpleXMLElement)#4 (1) { ["@attributes"]=> array(7) { ["Id"]=> string(1) "1" ["Name"]=> string(51) "Вспомогательный: Дед, Кража." ["StartExpressionValue"]=> string(1) "0" ["VisibilityChange"]=> string(13) "NoChange Hide" ["ExpressionVisibility"]=> string(5) "false" ["ExpressionCriticalValue"]=> string(5) "false" ["CriticalLocationId"]=> string(1) "0" } }

Нужно перегнать эти парметры в Бд, а я даж не понял как спарсить правильно.
Раскуривал гугл, но там попадаются темы с иерархическим парсингом.
То есть типа такого

<уровень1>
<уровень2>
<уровень3>
<уровень4>
</уровень4>
</уровень3>
</уровень2>
</уровень1>
0
2. Алексей (04.03.18 / 21:13)
Пацак
Извините, нашел ошибку.
$xmlstr = 'languages.xml'; 

$xml = simplexml_load_file($xmlstr);
foreach($xml->Parameter as $array) {
echo $array['Id']; echo '<br>';
}
0
3. Александр (05.03.18 / 12:27)
Землянин
$xmlstr = 'languages.xml'; 

$xml = simplexml_load_file($xmlstr);
foreach($xml->Parameter->Id as $array) {
echo $array['Id']; echo '<br>';
}

Не ?

Или simplexml_load_string
Отредактировано: Randy (05.03.18 / 12:28)
0
4. Алексей (05.03.18 / 16:19)
Пацак
Randy, Не помню, пробовал вроде.
Во 2 посте рабочий вариант.
Для добавления сообщения необходимо авторизоваться
Смайлы / Теги / Правила / Топ тем / Топ постов / Поиск