2014-10-27 3 views
-1

У меня есть файл XML в следующем формате:Echo XML узел CDATA с использованием SimpleXML

  <definitions> 
       <group name="skin"> 
       <string name="string_name"><![CDATA[String Name]]></string> 
       </group> 
      </definitions> 

Я не могу понять, как получить имя строки для вывода спускаясь через определения> Группа> строку, является можно выбрать по строке имя = "xxx" или только строку?

  <?php 
       if (file_exists('definitions.xml')) { 
        $xml = simplexml_load_file('definitions.xml'); 
        echo (string) $xml->string; 
       } else { 
        exit('Failed to open'); 
       } 
      ?> 

ответ

0

Вы не используете правильный синтаксис для доступа к узлу string; $xml эквивалентен верхний узел, definitions, так что вам нужно, чтобы получить доступ $xml->group->string, чтобы получить содержимое string узла:

echo (string)$xml->group->string; 

Выход:

String Name 

FYI, вы можете распечатать содержимое узла без литье в виде струны:

echo $xml->group->string;