Google 表格 importxml xpath 来解析 marcxml

Google Sheets importxml xpath to parse marcxml

提问人:W.J.F. 提问时间:1/27/2023 最后编辑:W.J.F. 更新时间:1/28/2023 访问量:119

问:

我正在尝试在 Google 表格中解析 XML (MarcXML)。

例如,我尝试在数据字段中获取 code=“a” 的子字段中的值,其中 tag=“245”

我正在尝试解析的 MarcXML 示例:https://www.loc.gov/standards/marcxml/Sandburg/sandburg.xml

我尝试过的 Google 表格公式:

=importxml(A1;"//datafield[@tag='245']/subfield[@code='a']")

但是,使用上述公式,我得到了可怕的错误Imported content is empty.

当我使用它时:

=importxml(A1;"/*")

它确实输出了一些东西(所有值一起......

由于 Google Sheet 的 importxml 输出带有 xpath “/*” 的东西,我认为我尝试做的事情在理论上应该有效吗?有人可以提出建议吗?

谢谢!

google-sheets xpath xml 解析 google-sheets-formula

评论


答:

0赞 Payam Moin Afshari 1/28/2023 #1

我不确定您的xpath查询的确切问题是什么,但我想这可能是由于XML和MarcXML的差异。

无论如何,这个 xpath 根据示例数据的结构工作正常:

=importxml(A1,"//*[@tag=245]/*[@code='a']")

它搜索具有值为 ; 的属性的任何节点 ;然后查找具有值为 的属性的任何子节点。tag245code'a'