这有效
$feed = $xml->xpath('//room[@id="103"]');
我正在尝试用103
变量替换$id
。
我试过了
$feed = $xml->xpath('//room[@id=$id]');
和
$feed = $xml->xpath('//room[@id=".$id."]');
没有工作。
将变量放在xpath中的适当语法是什么?
答案 0 :(得分:1)
当你在字符串中写$id
时,php会像字符串一样使用它。你应该关闭引用,如
$feed = $xml->xpath('//room[@id="'.$id.'"]');
或在{}
$feed = $xml->xpath('//room[@id="{$id}"]');
答案 1 :(得分:0)
您的问题已经由穆罕默德(Mohammad)回答 但我在行末使用[0]给出了一个更完整的示例,以避免在某些用法下出现更多行
$feed = $xml->xpath('//room[@id="'.$id.'"])[0];
如果您也想从xml的结果中获取使用@attribute的根内部的其他值
$day= $_GET['Day'];
$feed = $xml->xpath('//room[@id="'.$id.'"]/Day'.$day.'')[0];
这意味着,如果您有一个像更硬代码一样的xml文件,则可以动态调整一天的时间