Xpath乘法格式化输出

时间:2018-08-30 10:43:22

标签: xpath

xml文件中有很多条目,并且xpath的条件是:

/XMLReport/Report/PreflightResult/PreflightResultEntry[
  @type = 'Check' and @level = 'warning']/PreflightResultEntryMessage/Message/text()

输出为:

onetwothreefour...  and more

我需要分开

'---' one---two---three---four 

[enter]
one
two
three
four

有可能吗?

2 个答案:

答案 0 :(得分:0)

为什么将XPath表达式绑定在单引号'中:

使用此:

string-join(/XMLReport/Report/PreflightResult/PreflightResultEntry[@type = 'Check' and @level = 'warning']/PreflightResultEntryMessage/Message/text(), '---')

答案 1 :(得分:0)

您的XPath表达式实际上返回了一组文本节点。显示这些内容的方式取决于调用应用程序(您尚未告诉我们任何信息)。我认为您的选择是(a)更改调用应用程序显示结果的方式,或(b)如果您使用的是XPath 2.0+,请使用string-join()函数以字符串形式返回结果,并以任何方式设置其格式您喜欢在XPath表达式本身中。