snowflake XML 正在解析 returns NULL - SPACE 字段名称?

snowflake XML Parsing returns NULL - SPACE in field name?

我正在尝试获取 xml 下面的 ap id 值,但返回的是 NULL。请帮忙。如果可能,请向我发送一个展平查询,以展平雪花中的以下 xml 文件。我对雪花很陌生,非常感谢您的帮助。这是因为字段名称"ap id"中的space吗?我不信。如何处理 XML 个文件的 snowflake 中带有 space 的字段名称?

select GET(lvl,'@ap id')::整数为 "ap id" 来自 (SELECT src:"$" as lvl FROM XMLDATA);

SELECT XMLGET(SRC, 'ap id' ):"@" as "ap id" 来自 XML数据;

SELECT GET(src, '@ap id')::整数为 ap_id 来自 XML数据;

你能试试吗:

select src:"$"."@id" as app_id
from xmldata;

这是一种通过展平和搜索已知值来查找路径的方法:

with xmldata as (
    select parse_xml('<amp_ap_detail><ap id="1610">asdf</ap></amp_ap_detail>') src
)
select path, value 
from xmldata, lateral flatten(input=>xmldata.src, recursive=>true) f
where value = 1610;

在这种情况下产生:

PATH            VALUE
['$']['@id']    1610

正在将 PATH 映射到 Snowflake 的字段标识符符号中...

with xmldata as(
    select parse_xml('<amp_ap_detail><ap id="1610">asdf</ap></amp_ap_detail>') src
)
select src:"$"."@id" as app_id
from xmldata;

希望对您有所帮助。