Парсинг XML
1.
Алексей (04.03.2018 / 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>
2.
Алексей (04.03.2018 / 21:13)
Извините, нашел ошибку.
$xmlstr = 'languages.xml';
$xml = simplexml_load_file($xmlstr);
foreach($xml->Parameter as $array) {
echo $array['Id']; echo '<br>';
}
3.
Александр (05.03.2018 / 12:27)
$xmlstr = 'languages.xml';
$xml = simplexml_load_file($xmlstr);
foreach($xml->Parameter->Id as $array) {
echo $array['Id']; echo '<br>';
}
Не ?
Или simplexml_load_string
4.
Алексей (05.03.2018 / 16:19)
Randy, Не помню, пробовал вроде.
Во 2 посте рабочий вариант.
URL:
https://visavi.net/topics/43921