php代码中的xpath错误 - 表达式无效

时间:2011-11-22 13:22:38

标签: php xml xpath

我收到此错误,

Warning: SimpleXMLElement::xpath() [simplexmlelement.xpath]: Invalid expression

在互联网上搜索但无法删除此错误。那是我再发一次了。

这是我的php代码:

<?php
            $file = $_POST['id'];
            $xml = simplexml_load_file('test.xml');

            $user = $xml->xpath("user[user_id == $id]");             
            $name = $user->name;
            $file = $user->file;
            echo 'Name' . $name;
            echo 'File Name' . $file;
?>
        <form action='<?php echo $_SERVER['PHP_SELF']?>' method="POST">
            Login ID: <input type="text" name="id" />
            <input type="submit" name="submit" value="Submit"/>               
        </form> 

我的test.xml文件是:

<?xml version="1.0" encoding="ISO-8859-1"?>
<document>
    <user>
        <user_id>0121</user_id>
        <name>Tim</name>
        <file>0121.file</file>
    </user>
    <user>
        <user_id>0178</user_id>
        <name>Henry</name>
        <file>0178.file</file>
    </user>
    <user>
        <user_id>0786</user_id>
        <name>Martin</name>
        <file>0786.file</file>
    </user>
    <user>
        <user_id>1239</user_id>
        <name>Jan</name>
        <file>1239.file</file>
    </user>
</document>

任何原因?

由于 Raaks

2 个答案:

答案 0 :(得分:2)

==是无效的表达式。试试这个:

 $user = $xml->xpath("user[user_id=$id]");

答案 1 :(得分:0)

尝试使用此XPath(=代替==):

user[user_id = $id]