$elements = $xpath->query(
"//message[(@sender ='".$from." and @receiver = '".$username."') or
(@receiver='unread' and @sender = '".$username."')]"
);
这个代码有什么问题?
我需要从我的xml文件中得到类似这样的内容
最佳答案
改为使用sprintf
。它不那么凌乱,错误也更容易被发现。
$query = sprintf(
'//message[
(@sender = "%1$s" and @receiver = "%2$s") or
(@receiver="unread" and @sender = "%2$s")
]',
$from,
$receiver
);
另外,确保对
$from
和$receiver
进行消毒,以防止XPath Injection attacks。关于php - 如何在xpath查询中使用多个条件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12560065/