Парсинг XML

Печать RSS
381

Автор
Пацак
0
Всем привет.
Возникли затруднения при парсинге 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
Извините, нашел ошибку.
$xmlstr = 'languages.xml'; 
 
$xml = simplexml_load_file($xmlstr); 
foreach($xml->Parameter as $array) {
echo $array['Id'];    echo '<br>';
}
А

Чатланин
0
$xmlstr = 'languages.xml'; 
 
$xml = simplexml_load_file($xmlstr); 
foreach($xml->Parameter->Id as $array) {
echo $array['Id'];    echo '<br>';
}
Не ?

Или simplexml_load_string
Изменил: Александр (05.03.2018 / 12:28)
Автор
Пацак
0
Randy, Не помню, пробовал вроде.
Во 2 посте рабочий вариант.
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск