如何使用php在xpath中使用变量作为属性值?

问题描述 投票:1回答:2

这有效

$feed = $xml->xpath('//room[@id="103"]');

我试图用变量103替换$id。我试过了

$feed = $xml->xpath('//room[@id=$id]');

$feed = $xml->xpath('//room[@id=".$id."]');

没有工作。

将变量放在xpath中的适当语法是什么?

php string variables xpath
2个回答
1
投票

当你在字符串中编写$id时,php会像字符串一样使用它。你应该关闭引用

$feed = $xml->xpath('//room[@id="'.$id.'"]');

或者在{}中写变量

$feed = $xml->xpath('//room[@id="{$id}"]');

0
投票

你的问题已经从穆罕默德回答,但我在行尾给出了一个更完整的例子[0],以避免更多的行用于某些用法

$feed = $xml->xpath('//room[@id="'.$id.'"])[0];

另外,如果你想要xml的结果和其他一些值在使用@attribute的根里面

$day= $_GET['Day']; 
$feed = $xml->xpath('//room[@id="'.$id.'"]/Day'.$day.'')[0];

这意味着如果你有一个像更难的代码的xml文件,你可以一天动态

© www.soinside.com 2019 - 2024. All rights reserved.