【问题标题】:The values extracted from an xml document are not separated by spaces从 xml 文档中提取的值不以空格分隔
【发布时间】:2013-10-31 10:53:39
【问题描述】:

我在 Rapidminer 中使用 Read XML 来读取文件并提取一些节点。

我的问题是,只要一个节点在 XML 文件中出现多次,Rapidminer 就会提取所有节点值并构建一个字符串,值之间没有空格。 相反,我想要一个逗号分隔的字符串。

所以对于 XPath 属性:

//nounPhrase/node()

还有 XML 代码:

<extractedData>
<nounPhrase occurrence="1" origin="syllabs">homme blanc</nounPhrase>
<nounPhrase occurrence="1" origin="syllabs">peine</nounPhrase>
<nounPhrase occurrence="2" origin="syllabs">religieuse</nounPhrase>
<nounPhrase occurrence="1" origin="syllabs">peur</nounPhrase>
</extractedData>

Rapidminer 提取此字符串:

homme blancpeinereligieusepeur

而我想要的是:

homme blanc, peine, religeuse, peur

有人知道该怎么做吗?我在读取 XML 中没有看到任何控制提取这方面的选项。

我用于读取 XML 的配置:

检查的xpath:/

属性的xpath:几个,其中//nounPhrase/node()

【问题讨论】:

    标签: xml xpath text-mining rapidminer


    【解决方案1】:

    如果 RapidMinor 支持 XPath 2.0:

    string-join(//nounPhrase, ', ')
    

    如果 RapidMinor 仅支持 XPath 1.0,而您只有 4 个nounPhrases

    concat(//nounPhrase[1], ', ', //nounPhrase[2], ', ', //nounPhrase[3], ', ', //nounPhrase[4])
    

    如果 RapidMinor 仅支持 XPath 1.0,并且您有不同数量的 nounPhrases,则必须在 XPath 之外进行字符串连接。

    【讨论】:

    • 谢谢。这两种解决方案均不适用于 Rapidminer 5.3。无论如何,我只是在尝试这个软件......目前我会坚持使用 R,在那里我可以更好地工作。如果它可能对其他人有用,我会保持开放。
    【解决方案2】:

    您可以将 Generate Extract 运算符与前面给出的 concat Xpath 示例一起使用。您需要先阅读完整的 XML,而不进行任何解析,因此这可能不适合您的特定要求。

    【讨论】:

      猜你喜欢
      • 2013-08-04
      • 1970-01-01
      • 2021-12-10
      • 1970-01-01
      • 1970-01-01
      • 2020-12-24
      • 1970-01-01
      • 2021-11-29
      • 1970-01-01
      相关资源
      最近更新 更多