我的问题是我找不到在XML文档中找到节点的方法,它是(users.xml
):
<users>
<user>
<id>10</id>
<username>User1</username>
</user>
<user>
<id>22</id>
<username>User2</username>
</user>
<user>
<id>13</id>
<username>User3</username>
</user>
</users>
在A中,$_SESSION['username']
我具有当前登录用户的用户名。我想使用xpath
或其他方式将已登录用户的ID(假设用户2已登录)分配给变量$userID
。有人可以帮我吗,因为到目前为止我所得到的只是错误。
提前致谢!
使用DOMXpath :: evaluate()方法。
获取user
元素:
/users/user
仅具有特定的username
子元素:
/users/user[username = "User2"]
id
找到的用户的子元素:
/users/user[username = "User2"]/Id
将第一个找到的id
元素强制转换为字符串
string(/users/user[username = "User2"]/Id)
$xml = <<<'XML'
<users>
<user>
<id>10</id>
<username>User1</username>
</user>
<user>
<id>22</id>
<username>User2</username>
</user>
<user>
<id>13</id>
<username>User3</username>
</user>
</users>
XML;
$dom = new DOMDocument();
$dom->loadXml($xml);
$xpath = new DOMXpath($dom);
$userName = 'User2';
$userId = $xpath->evaluate('string(/users/user[username = "'.$userName.'"]/id)');
var_dump($userId);
输出
string(2) "22"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句