2016-08-17 240 views
0

由于我不是代码专家,所以对此解释不好。XPath分隔符/分隔符

林提取一段信息在表layd出像这样的: enter image description here

我需要提取各表例如从消费者购买到让业务表我需要以下条件: 消费者购买到让编曲,消费者在购买到让顾问

我,提取这些信息,但是没有一个逗号当前的XPath看起来是这样的:

//*/text()[normalize-space(.)='Consumer buy-to-let Business']/parent::*/parent::*/p 

欧输入:

Consumer buy-to-let arrangerConsumer buy-to-let advisor 

我很努力地找出如何添加逗号作为分隔符。

回答

1

裹的可读性:

string-join(
    //text()[normalize-space(.)='Consumer buy-to-let Business']/ancestor::*[2]/p, ',' 
) 

参见:fn:string-join

注意

  • /parent::*/parent::*较短时为/ancestor::*[2]
  • 文本节点写入必须始终是元素的孩子,所以//*/text()相同//text()

相关阅读:Is it possible to apply normalize-space to all nodes XPath expression finds?

+0

不幸的是,它并没有为我工作,我输入为: string-join(// text()[normalize-space(。)='Consumer buy-to-let Business']/ancestor :: * [2]/p,',') Im使用import.io测试,但它不会带来任何结果。我只有一行输入XPath – Tomas

+0

我的答案的相关部分是'string-join(someNodes,'separator')'。如果我的路径没有返回任何东西,请使用你的路径。如果这不起作用,请使用'string-join((''foo','bar'),'。')'进行交叉检查。如果*那*没有返回''foo.bar'',那么你的应用程序评估XPath表达式的方式有些问题。 – Tomalak