gpt4 book ai didi

xpath - 使用 XPath 将 URL 查询字符串解析为参数映射

转载 作者:行者123 更新时间:2023-12-04 14:04:29 24 4
gpt4 key购买 nike

在 XSLT/XPath 3.0 中将 URL 查询字符串解析为 { 'param': 'value' } 映射的最可读的方法是什么?

注意:这是 Building a URL query string from a map of parameters with XPath 中描述的函数的反函数.

更新:我忘记提到该函数应该支持多值参数,例如 a=1&a=2,理想情况下将它们解析为 xs:string*顺序。

最佳答案

declare namespace map = "http://www.w3.org/2005/xpath-functions/map";
let $querystring := "a=1&b=2&c=3"
return
( tokenize($querystring, "&")
! (let $param := tokenize(., "=")
return map:entry($param[1], $param[2]) )
) => map:merge()

为了支持多个值,您可以应用 $options parameter指定如何处理 duplicates:

declare namespace map = "http://www.w3.org/2005/xpath-functions/map";
let $querystring := "a=1&b=2&a=3"
return
( tokenize($querystring, "&")
! (let $param := tokenize(., "=")
return map:entry($param[1], $param[2]) )
) => map:merge(map:entry('duplicates', 'combine'))

关于xpath - 使用 XPath 将 URL 查询字符串解析为参数映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68944773/

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