我在这个表格中遇到了几个类似的答案,但不能解决我的确切问题。因此,我在这里发布这个:
我有一个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>
我要求用户输入他的user_id并发布这个user_id,并对整个xml文件执行检查,以检查输入的user_id是否存在于xml文件中。如果存在,则如果不回显错误消息,则继续执行。有人能把我拉出来吗?
谢谢
编辑答案忘掉我之前的答案吧:P
$user_id = '1239';
$xml = new SimpleXMLElement($xml);
$found = false;
foreach($xml->user AS $user) {
if ($user->user_id == $user_id) {
$found = true;
break;
}
}
if (!found) echo 'error';
您可以使用DOMDocument与DOMXpath查询,例如:-
$doc = new DOMDocument;
$doc->load(...);
$xpath = new DOMXPath($doc);
$query = '//user/user_id[.="0121"]';
$entries = $xpath->query($query);
if ( $entries->length )
{
// found
}