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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用php在xpath中使用变量作为属性值?相关的知识,希望对你有一定的参考价值。

这有效

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

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

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

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

没有工作。

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

答案

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

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

或者在{}中写变量

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

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

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

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

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

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

以上是关于如何使用php在xpath中使用变量作为属性值?的主要内容,如果未能解决你的问题,请参考以下文章

XPATH - 获取返回的单个值而不是数组 php

如何使用 XML::XPath 获取属性?

使用 XPath,如何根据节点的文本内容和属性值来选择节点?

如何将对不同变量/类属性的引用作为方法参数而不是值?

php xpath如何从父元素内的多个元素中获取值

在 Python Selenium 的 xpath 中使用变量