擅长:python、mysql、java
<p>如果您的处理器支持XQuery 3.1,以下是一种解决问题的方法:</p>
<pre><code>declare function local:values($pi) {
map:merge(
for $pair in tokenize($pi)
let $key := substring-before($pair, '=')
let $value := replace(substring-after($pair, '='), '^"|"$', '')
return map:entry($key, $value)
)
};
let $xml := document {
<xml>
<?link id="752760" resource-uuid="UUID-9f0575a3-1847-1cde-fd35-f18014fdecf3"
resource-id="570935" resource-type="fork" type="ResourceLink"?>
</xml>
}
for $pi in $xml//processing-instruction('link')
let $values := local:values($pi)
return $values?resource-uuid
</code></pre>
<p>对于旧版本的XQuery,还有一个解决方案:</p>
^{pr2}$
<p>这两个代码片段都是在这样一个假设下工作的:处理指令中的值都是按照您的示例(键和值用等号分隔,值用双引号括起来)。在</p>