gpt4 book ai didi

xml - 如何用定界符分隔 XPath 结果?

转载 作者:数据小太阳 更新时间:2023-10-29 02:23:18 24 4
gpt4 key购买 nike

我有许多科学出版物的 XML 数据,我正在尝试解析 KNIME 中的数据以提取我需要的字段。这是一个例子:https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=pmc&id=PMC4400176

为了提取作者姓名,我使用了以下 XPath 查询:/pmc-articleset/article/front/article-meta/contrib-group/contrib[@contrib-type="author"]

但是,这会返回:BorisovaSvetlana A., KimHak Joong, PuXiaotao, LiuHung-wen*

我希望姓氏和名字用一些定界符、逗号/空格分隔,不同的作者姓名用分号分隔。这可能吗?还是有比我目前正在做的更好的方法来提取信息,这将使我能够实现我的理想输出:

Borisova, Svetlana A.;金学中;浦晓涛;刘鸿文*

[编辑]

当前的 KNIME 工作流程:

enter image description here

示例电流输出:

enter image description here

我试过将所有出版物的所有作者姓名输出到一个集合单元中。 (如果我将所有名称输出到多个列中,这最终会创建数百个包含缺失值的列。我什至尝试使用多个字符串操作来实现我的理想输出,但它仍然不是完美的,由于一些author names having multiple names, hyphenated names, or names containing special characters.) collection cell 将所有作者姓名与每个作者姓名之间的逗号分隔符组合在一起,但组合了姓氏和名字。我也可以对这些进行与上述相同的字符串操作,但仍然会遇到与上述相同的问题。

如果我将作者姓名分成多行,这会为每篇文章创建多行,我不确定如何从中获得每篇文章的最终目标。

enter image description here

最终目标:

enter image description here

如果能与作者一起解决这个问题,我们将不胜感激!

最佳答案

理想情况下,您应该分多个步骤执行此操作。我会这样做:

  1. 提取所有 contrib 元素并使用 XPath 将生成的“节点”作为行返回(不是作为字符串)节点
  2. 使用另一个 XPath 提取surnamegiven-namesxref节点
  3. 将它们连接在一起,例如使用 String Manipulation节点
  4. 将所有内容组合成一个字符串,例如使用 Column CombinerGroupBy节点

[编辑] 你可以在我的公共(public) NodePit 空间找到一个完整的示例工作流:

https://nodepit.com/workflow/com.nodepit.space%2Fqqilihq%2Fpublic%2FStack_Overflow%2FStack_Overflow_how-to-separate-xpath-results-by-a-delimiter_55959662.knwf

workflow

[关于您的编辑] 据我了解,您现在面临的挑战是,您的表格包含多个一个 出版物,并且 GroupBy 节点会将它们全部组合成一行。为避免这种情况,您可以使用“循环”节点。只需用一对 Chunk Loop Start 包围我上面描述的逻辑和一个 Loop End节点。这使您可以“孤立地”处理每个公共(public)。

关于xml - 如何用定界符分隔 XPath 结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55959662/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com