我的xml格式如下:
<?xml version="1.0"?>
<root>
<foo id="1">
<bar>text</bar>
</foo>
<foo id="2">
<bar>text2</bar>
</foo>
</root>
我知道,在PHP中,我可以访问加载了SimpleXML的xml文件的第n个元素,如下所示:
$xml = simplexml_load_file('file.xml');
echo $xml->foo[2]->bar;
但是我需要通过从$_GET
拉出的变量来访问元素,所以:
echo $xml->foo[$var]->bar;
这似乎不起作用,我真的很感激任何建议。谢谢!
答案 0 :(得分:1)
似乎SimpleXML以与普通PHP数组略有不同的方式区分数字和非数字数组偏移,因此您需要先将变量转换为整数。 (除非您告诉PHP,否则查询字符串中的所有输入都是字符串。)
$var = intval($_GET['var']);
echo $xml->foo[$var]->bar;
这会将字符串'1'
转换为整数1
,并且应该提供您需要的结果。