在字符串中添加新行

时间:2015-12-04 07:25:59

标签: xpath wso2 axis2 wso2esb xpath-2.0

您正在使用wso2esb4.9.0,

我有一个生成电子邮件的服务,因为我将邮件作为邮件主体使用,作为邮件正文传递。

<property name="mailbody"
                   expression="fn:concat('You have received a new Ticket',':','TicketID-',get-property('Ticketid'),', ','TicketDetails-',get-property('Details'))"
                   scope="default"
                   type="STRING"/>

当我在我的服务中传递此属性时,我收到邮件和邮件正文如下所示。

You have received a new Ticket: TicketID-3021668982752443, TicketDetails-Test ticket details

我想在值中添加一个新行,以便邮件正文看起来像下面而不是一行。

You have received a new Ticket: 

TicketID-3021668982752443, 
TicketDetails-Test ticket details

是否有任何Xpath函数或方法将新行添加到我的字符串值。

我试图包含\ n和&#13;在mailbody属性的fn-concat中,但它无法正常工作。

1 个答案:

答案 0 :(得分:4)

由于XPath表达式位于XML文档中,因此执行expression="fn:concat('You have received a new Ticket',':&#10;','TicketID-',get-property('Ticketid'),', ','TicketDetails-',get-property('Details'))"就足够了。

如果您真的使用XPath 2.0,那么您也可以使用expression="fn:concat('You have received a new Ticket',':', codepoints-to-string(10),'TicketID-',get-property('Ticketid'),', ','TicketDetails-',get-property('Details'))"