首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PHP SimpleXML XPath查询

PHP SimpleXML XPath查询
EN

Stack Overflow用户
提问于 2014-01-21 02:01:46
回答 1查看 76关注 0票数 0

我有一个函数,它试图使用XMLXPath query.The函数获取文本:

代码语言:javascript
运行
复制
function getInterviewText($id)  {
    $sxe = simplexml_load_file("./interview2.xml");
    foreach($sxe->xpath('//interview') as $item) {
        $row = simplexml_load_string($item->asXML());
        $v = $row->xpath('//interview-id[.="$id"]');
        if($v[0]) {
            echo '<interview-text>'.$item->INTERVIEW-TEXT.'</interview-text>' 
        }
    }
}

XML文件的内容如下:

代码语言:javascript
运行
复制
<?xml version="1.0"?>
<ROOT>
    <interview>
        <interview-id>1</interview-id>
        <INTERVIEW-TEXT>                                
            Test1
        </INTERVIEW-TEXT>
    </interview>
    <interview>
        <interview-id>2</interview-id>
        <INTERVIEW-TEXT>                              
            Test2          
        </INTERVIEW-TEXT>
    </interview>
</ROOT>

但是,当我试图用id=1或2调用它时,这个函数不会返回任何东西。非常感谢您的任何帮助。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-21 02:07:34

问题在于:

代码语言:javascript
运行
复制
$v = $row->xpath('//interview-id[.="$id"]');

$id没有展开,因为您在一个单引号字符串中。尝试以下几种方法之一:

代码语言:javascript
运行
复制
$v = $row->xpath('//interview-id[.="' . $id . '"]');
// Or
$v = $row->xpath("//interview-id[.=\"{$id}\"]");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21247766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档