У меня есть файл XML в этом формате:
<definitions>
<group name="skin">
<string name="string_name"><![CDATA[String Name]]></string>
</group>
</definitions>
Я не могу понять, как получить имя строки для вывода, пройдя через определения> group> string, можно ли выбрать по строке name = «xxx» или только по строке?
<?php
if (file_exists('definitions.xml')) {
$xml = simplexml_load_file('definitions.xml');
echo (string) $xml->string;
} else {
exit('Failed to open');
}
?>
Вы не используете правильный синтаксис для доступа к string
узел; $xml
эквивалентно верхнему узлу, definitions
так что вам нужно получить доступ $xml->group->string
чтобы получить содержимое string
узел:
echo (string)$xml->group->string;
Выход:
String Name
К вашему сведению, вы можете распечатать содержимое узла без приведения его в виде строки:
echo $xml->group->string;
Других решений пока нет …