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

Liquid Mapping中如何将XML属性值正确映射到JSON?

Liquid Mapping获取XML属性值的正确方法

我有如下XML Schema片段:

<xs:element name="DESCR">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="ADDITIONAL">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="DESCR_CODE">
              <xs:complexType>
                <xs:attribute name="CODE" type="xs:unsignedInt" use="required" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
</xs:element>

期望通过Liquid Mapping转换为以下JSON结构,但无法获取DESCR_CODE元素的CODE属性值:

"DESCR": {
  "ADDITIONAL": {
    "DESCR_CODE": "{{DESCR.ADDITIONAL.DESCR_CODE.CODE}}"
  }
}

在Liquid中访问XML属性时,需要在属性名前加上**@符号**来区分XML元素和属性。你的写法没有区分属性类型,所以无法正确取值。

正确的Liquid表达式应该是:

"DESCR": {
  "ADDITIONAL": {
    "DESCR_CODE": "{{DESCR.ADDITIONAL.DESCR_CODE.@CODE}}"
  }
}

原因是:当Liquid解析XML时,会将普通元素解析为对象的层级属性,而XML元素的属性会被统一命名为@属性名的格式,因此必须通过@CODE的写法才能准确访问到DESCR_CODE元素的CODE属性值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 17:50:36