Ошибка xpath в коде php - Неверное выражение - PullRequest
1 голос
/ 22 ноября 2011

Я получаю эту ошибку,

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>

Есть причина?

Спасибо РААКС

Ответы [ 2 ]

2 голосов
/ 22 ноября 2011

== - недопустимое выражение. Попробуйте это:

 $user = $xml->xpath("user[user_id=$id]");
0 голосов
/ 22 ноября 2011

Попробуйте этот XPath (= вместо ==):

user[user_id = $id]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...