Hot to检查XML中特定节点的值是否存在

时间:2015-11-19 21:01:21

标签: php xml xpath domdocument

xml加载到名为loadxml

的文件中
<?xml version="1.0”?>
<GetUserProfileResponse>
  <User>
    <UserID>sonishopcom</UserID>
  </User>
  <User>
    <UserID>guru</UserID>
  </User>
</GetUserProfileResponse>

我遇到了一个简单的查询。

我想检查php中是否存在if()语句中元素的特定值 比如我需要检查UserID sonishopcom。

 $userID = 'test';
 $datta = simplexml_load_file('loadxml');

2 个答案:

答案 0 :(得分:0)

首先,您粘贴的内容不是有效的xml文档,因为xml的根目录是</GetUserProfileResponse>而不是<GetUserProfileResponse>

虽然这是有效的:

$data = simplexml_load_file('loadxml');
if(isset($data[0]->User->UserID)) { echo "UserID is set"; }

如果设置了第一个用户ID,上面的内容将会返回。

答案 1 :(得分:0)

我正在做的是使用数组来保存节点值,然后使用in_array()进行搜索。这似乎是非常有效的杀戮选项,但我找不到搜索xml元素值的方法。