【发布时间】:2018-11-12 11:52:25
【问题描述】:
有谁知道如何在节点的 XML 值中选择特定字符或部分?
例如,我有 <Country> Holland </Country> 或 <City>'s-Hertogenbosch</City> 的值,我想在 <City> 中从 <Country> 和 '(单引号)中选择“a”字符,而不使用 substring() 函数:我怎么能做到这一点?我几乎尝试了所有方法,但除了 substring,substring-before 和 substring-after 都不起作用。
【问题讨论】:
-
你也可以使用analyze-string和replace函数
-
你的问题不清楚。你怎么知道你想选择哪个角色?选择什么目的? -- 另外,不使用 substring() 函数是什么意思?这些函数是 XPath/XSLT 的组成部分。如果您不能使用它们,请重新标记您的问题。
-
实际上我的问题很清楚..例如,当特定节点中的大多数值都有单引号并且我无法将它们注入数据库时,我有多个入站消息,例如特定的 XML 格式可以用反斜杠 '\' 转义那些单引号,但我只能手动使用每个节点中的子字符串函数来做到这一点。如果我有几十个带单引号的值怎么办?..我该如何解决它们?
-
不,实际上你的问题是经典的XY problem。如果要转义单引号,则需要将它们替换为转义字符串。在 XSLT 1.0* 中,这是使用命名递归模板完成的 - 参见例如:stackoverflow.com/questions/30339128/… -- (*) 我从 your other question 假设您不能使用 XSLT 2.0。
标签: xml xslt xpath tibco tibco-business-works