gpt4 book ai didi

php - 带 key 的 REST 响应的 Xpath

转载 作者:行者123 更新时间:2023-12-02 05:16:05 25 4
gpt4 key购买 nike

我正在尝试使用 Xpath 从 REST 响应中查找用户名值。当我使用

$data = new simpleXMLElement($response->getBody());
$matches = $data->xpath('//KEY[@name="username"]');

我明白了

array(1) {
[0]=>
object(SimpleXMLElement)#7 (2) {
["@attributes"]=>
array(1) {
["name"]=>
string(8) "username"
}
["VALUE"]=>
string(5) "guest"
}
}

我的问题是,仅获取要显示的值的 Xpath 表达式是什么?在此示例中,它是访客,但会根据用户而变化。

非常感谢任何建议。

XML 结构如下。

<?xml version="1.0" encoding="UTF-8" ?> 
<RESPONSE>
<MULTIPLE>
<SINGLE>
<KEY name="id">
<VALUE>1</VALUE>
</KEY>
<KEY name="username">
<VALUE>guest</VALUE>
</KEY>
<KEY name="firstname">
<VALUE>Guest user</VALUE>
</KEY>

最佳答案

SimpleXML 不可能。 xpath 方法将始终返回一个数组。

但是你可以这样做:

$keys = simplexml_load_string($xml);
echo current($keys->xpath('//KEY[@name="username"]/VALUE'));

demo

<小时/>

或者使用 DOM。以下将立即返回字符串:

$dom = new DOMDocument;
$dom->loadXml($xml);
$xpath = new DOMXPath($dom);
echo $xpath->evaluate('string(//KEY[@name="username"]/VALUE)');

demo

关于php - 带 key 的 REST 响应的 Xpath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8680336/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com