我已啓用XPath 2.0配置synapse.xpath.dom.failover.enabled=true
在synapse.properties
但仍無法獲取字符串填充完成。有沒有什麼表達來實現它?在wso2 ESB中是否有任何XPath表達式用於字符串填充?
編輯:
特定字符串的長度必須是10個字符,如果是比它更小的,我們必須用特殊字符「%」填充它。
例如,輸入= 'WSO2',填充後它應該是 'WSO2 %%%%%%'
預先感謝
我已啓用XPath 2.0配置synapse.xpath.dom.failover.enabled=true
在synapse.properties
但仍無法獲取字符串填充完成。有沒有什麼表達來實現它?在wso2 ESB中是否有任何XPath表達式用於字符串填充?
編輯:
特定字符串的長度必須是10個字符,如果是比它更小的,我們必須用特殊字符「%」填充它。
例如,輸入= 'WSO2',填充後它應該是 'WSO2 %%%%%%'
預先感謝
這可以使用XPath 1.0等實現
substring(concat('WSO2', '%%%%%%%%%%'), 1, 10)
以上的XPath基本工作原理是concatenatin:那麼,假設"WSO2"
將在實際執行動態輸入的字符串替換g字符串,將10個特定的填充字符添加到原始輸入字符串中,然後對結果進行子字符串得到前10個字符。 XSL left-right justification with Padding
爲了把這個更通用的公式中:
substring(concat('input_string', '%%%%....'), 1, n)
input_string
:字符串到填充操作將施加%
:字符用於填充在以下XSL問題發現這招,重複n
次n
:固定輸出字符串中預期的字符數它的工作,謝謝:) –
從@ har07的解決方案是好的,如果你對n的值合理上限,但如果你不這樣做,你可以創建一個使用
XPath 3.0: string-join((1 to $n)!"%")
XPath 2.0: string-join(for $x in 1 to $n return "%", "")
含「%」重複$ n次的字符串
嗨邁克爾,請你請解釋第二個xpath上面,請。 – Vincent
'1到$ n'產生一個數字序列。 '在$ 1到$ n中返回$ x返回「%」'產生一串$ n字符串,每個字符串都是字符串「%」。 string-join()將一串字符串連接成單個字符串,第二個參數可選地提供分隔符。 –
你試過的xpath是什麼?你在這裏意味着什麼*完全由字符串填充? (樣本字符串輸入和相應的預期輸出將是有用的) – har07
嗨,添加樣本請求和預期的字符串填充後。我試過fn:string-pad(),但它在wso2中不起作用。 –
在任何版本的XPath中都沒有定義fn:string-pad()函數。 –