在php中访问xml文件中的元素

时间:2017-05-17 03:12:33

标签: php xml web

我目前正在尝试访问xml代码中的元素。这就是我的代码:

$xml=simplexml_load_file("http://www.transltr.org/api/getlanguagesfortranslate") or die("Error: Cannot create object");
$languages = $xml -> ArrayOfLangauge[0];

print_r($languages);

xml文件是这个

[
  {
    "languageCode": "ar",
    "languageName": "Arabic"
  },
  {
    "languageCode": "bs",
    "languageName": "Bosnian"
  },
  {
    "languageCode": "bg",
    "languageName": "Bulgarian"
  },
  {
    "languageCode": "ca",
    "languageName": "Catalan"
  },
  {

等等......

请帮助,我是新手。

1 个答案:

答案 0 :(得分:0)

您没有正确使用transltr.org中的API。我根据这里的API文档快速制作了一些东西: http://www.transltr.org/Developers

$url='http://www.transltr.org/api/getlanguagesfortranslate';
//Initiate curl
$ch=curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL,$url);
//Execute curl
$result=curl_exec($ch);
//Close curl
curl_close($ch);
//JSON decode the data from transltr.org
$languages=json_decode($result);
//Example of setting a variable to a single index
$show_english=$languages[10];
//Neatly print the singled out variable
printf('<pre>%s</pre>',print_r($show_english,1));
//Just neatly print everything returned from the API
printf('<pre>%s</pre>',print_r($languages,1));

我不确定你的问题究竟是什么元素试图访问,但我包含了一个将变量设置为对象的一个​​索引(元素)的示例。如果要选择对象的属性,可以执行以下操作:

printf('<pre>%s</pre>',print_r($show_english->languageName,1));

我希望有所帮助。