You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用XQuery提取XML中首个d:personIdExternal节点值?

解决XML提取第一个d:personIdExternal值的问题

你的代码失败主要有两个原因:未处理XML命名空间,以及没有限制只取第一个节点。以下是修正后的方案:

修正后的XQuery代码

declare default element namespace "http://www.w3.org/2005/Atom";
declare namespace d = "http://schemas.microsoft.com/ado/2007/08/dataservices";
declare namespace m = "http://schemas.microsoft.com/ado/2007/08/dataservices/metadata";

let $first-person-id := /feed/entry[1]/content/m:properties/d:personIdExternal/text()
return
<Element>
  <personIdExternal>{$first-person-id}</personIdExternal>
</Element>

代码说明

  1. 命名空间声明:XML里的feed、entry属于默认Atom命名空间,m:properties、d:personIdExternal分别属于m和d命名空间,必须先声明才能正确定位节点。
  2. 定位第一个节点:用entry[1]直接选取第一个<entry>节点,再逐层定位到d:personIdExternal的文本值。
  3. 输出XML结构:返回你需要的<Element>包裹的结果,仅包含第一个匹配的ID值。

输出结果

<Element>
  <personIdExternal>55229507</personIdExternal>
</Element>

内容的提问来源于stack exchange,提问作者Sumesh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 17:35:35