2014-11-03 103 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"的描述值第三個元素?

更新:好吧,現在我的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項目的「description」元素。

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

現在我需要的只是調用該元素值的一行代碼。我接近上述,但我不能得到它呢?

+0

有沒有人知道如何做到這一點? – RootWannaBe 2014-11-03 20:55:35

回答

0

使用xpath()選擇itemid = 'config.php'description

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

看到它的工作:https://eval.in/216915