【问题标题】:Extracting HTML tags with specific attributes in GREL在 GREL 中提取具有特定属性的 HTML 标记
【发布时间】:2021-01-30 04:41:00
【问题描述】:

我可以在标签第一次出现时轻松提取它

<skos:prefLabel> Espitaleta, Lina </skos:prefLabel>

而且每次出现:

<skos:prefLabel> Espitaleta, Lina </skos:prefLabel>
<skos:prefLabel xml:lang="en-US"> Espitaleta, Lina </skos:prefLabel>
<skos:prefLabel xml:lang="fr-FR"> Lina Espitaleta </skos:prefLabel>

但是如何只提取具有特定属性的标签呢?

<skos:prefLabel xml:lang="fr-FR"> Lina Espitaleta </skos:prefLabel>

谢谢

【问题讨论】:

    标签: html xml jsoup openrefine grel


    【解决方案1】:

    根据您的示例,我猜测您正在寻找一个特定的属性值,而不仅仅是一个属性。

    GREL 实现在内部使用 JSoup,因此您需要查看他们的selector syntax 以了解如何执行此操作。大致如下:

    value.parseHtml().select(your selector here)
    

    应该得到你想要的。处理在标签名称和属性名称中以不同方式处理的名称空间有一点细微差别,所以你会想要这样的东西:

    value.parseHtml().select('skos|prefLabel[xml:lang="fr-FR"]')
    

    如果您确实是指属性,而不是属性值,则可以将其简化为:

    value.parseHtml().select('skos|prefLabel[xml:lang]')
    

    【讨论】:

    • 你说得对,我的意思是属性值。这很好用,谢谢!
    • 很高兴听到!如果它满足您的需求,请点赞并接受答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-10
    • 2018-06-22
    • 2020-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多