相关疑难解决方法(0)

XSLT是否具有Split()函数?

我在节点中有一个字符串,我想将字符串拆分为'?' 并返回数组中的最后一项.

例如,在下面的块中:

<a>
    <xsl:attribute name="href">
        /newpage.aspx?<xsl:value-of select="someNode"/>
    </xsl:attribute>
    Link text
</a>
Run Code Online (Sandbox Code Playgroud)

我想分割someNode价值.

编辑:这是我用来为我的Asp.Net页面加载Xsl的VB.Net:

Dim xslDocPath As String = HttpContext.Current.Server.MapPath("~/App_Data/someXslt.xsl")
Dim myXsltSettings As New XsltSettings()
Dim myXMLResolver As New XmlUrlResolver()

myXsltSettings.EnableScript = True
myXsltSettings.EnableDocumentFunction = True

myXslDoc = New XslCompiledTransform(False)
myXslDoc.Load(xslDocPath, myXsltSettings, myXMLResolver)

Dim myStringBuilder As New StringBuilder()
Dim myXmlWriter As XmlWriter = Nothing

Dim myXmlWriterSettings As New XmlWriterSettings()
myXmlWriterSettings.ConformanceLevel = ConformanceLevel.Auto
myXmlWriterSettings.Indent = True
myXmlWriterSettings.OmitXmlDeclaration = True

myXmlWriter = XmlWriter.Create(myStringBuilder, myXmlWriterSettings)

myXslDoc.Transform(xmlDoc, argumentList, myXmlWriter)

Return myStringBuilder.ToString()
Run Code Online (Sandbox Code Playgroud)

更新: …

.net xml vb.net xslt split

43
推荐指数
4
解决办法
6万
查看次数

xsl:如何拆分字符串?

我想将分号(;)上的地址拆分为由<br />以下各项分隔的行:

例如if address= 123 Elm Street,我想输出123 Elm Street,

但如果address= 123 Elm Street;PO Box 222,我想输出

123 Elm Street<br />PO Box 222
Run Code Online (Sandbox Code Playgroud)

如果address= 123 Elm Street;PO Box 222;c/o James Jones,我想输出

123 Elm Street<br />PO Box 222<br />c/o James Jones
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?(可能很简单,但我不熟悉XSLT)

普通的XSL选择器是

<xsl:value-of select="address"/>
Run Code Online (Sandbox Code Playgroud)

我想修改这个XSLT片段以分号分割.


更新:显然,答案涉及使用<xsl:call-template>和功能substring-before()substring-after().

但我是XSLT的初学者,我真的可以使用一些帮助来解决这个问题.

xml xslt xslt-2.0 xslt-1.0

33
推荐指数
2
解决办法
10万
查看次数

标签 统计

xml ×2

xslt ×2

.net ×1

split ×1

vb.net ×1

xslt-1.0 ×1

xslt-2.0 ×1