2014-11-03 3 views
0

Все еще немного туманно. Мне нужно получить значение элемента в моем XML-файле. Я конвертирую свой сайт в многоязычный сайт и буду использовать xml для языковых файлов, вроде того, что я делаю с java и android.Используйте PHP для получения значения из XML

Мой языковой файл XML расположен в /path/en.xml

Некоторые данные, расположенные в файле выглядит следующим образом:

<resources> 
    <item id="sidebar"> 
     <link1>Dashboard</link1> 
     <link2>Logs</link2> 
     <link3>Forms</link3> 
     <link4>Gallery</link4> 
    </item> 
    <item id="index.php"> 
     <label>LABEL</label> 
     <value>VALUE</value> 
     <description>DESCRIPTION</description> 
    </item> 
    <item id="config.php"> 
     <label>LABEL</label> 
     <value>VALUE</value> 
     <description>DESCRIPTION</description> 
    </item> 
</resources> 

Теперь, как я могу получить значение Описание Расположенный на item id="config.php" в третий элемент?

UPDATE: Хорошо сейчас в моем header.php я использую:

<?php 
    $valuelanguage = mysql_query("SELECT value FROM configuration WHERE label='language'"); 
    $lang = mysql_result($valuelanguage, 0); 
    $xmldoc = simplexml_load_file("xml/lang/{$lang}.xml"); 
    ?> 

который успешно загружается мой файл XML. Затем в файле file.php я хочу получить элемент описания для элемента index.php.

example: echo $xmldoc->item->attributes()->id['config.php']->description; 

Теперь все, что мне нужно, это один вкладыш, который вызывает это значение этого элемента. Я близок с приведенным выше, но я не могу получить его дальше?

+0

Есть ли что никто не знает, как это сделать? – RootWannaBe

ответ

0

использование xpath() для выбора description из item с id = 'config.php':

$xml = simplexml_load_string($x); // XML in $x 
$description = (string)$xml->xpath("/resources/item[@id='config.php']/description")[0]; 

видеть, что это работает: https://eval.in/216915

Смежные вопросы