我在这个表单中遇到了几个类似的答案,但无法解决我的确切问题。因此我在这里张贴:
我有一个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文件中。如果存在,那么如果不回显错误消息,我会更进一步。 任何人都可以把我拉出来吗?
谢谢
答案 0 :(得分:0)
编辑回答 忘记我之前的回答: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';
答案 1 :(得分:0)
您可以将DOMDocument与DOMXpath查询一起使用,例如: -
$doc = new DOMDocument;
$doc->load(...);
$xpath = new DOMXPath($doc);
$query = '//user/user_id[.="0121"]';
$entries = $xpath->query($query);
if ( $entries->length )
{
// found
}