我在节点中有一个字符串,我想将字符串拆分为'?' 并返回数组中的最后一项.
例如,在下面的块中:
<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)
更新: …
解析包含Java中的命名空间的xpath似乎需要使用NamespaceContext对象,将前缀映射到命名空间URL,反之亦然.但是,NamespaceContext除了自己实现它之外,我找不到任何其他机制.这似乎违反直觉.
问题:是否有任何简单的方法NamespaceContext从文档中获取,或者创建一个或者失败,完全放弃前缀并指定具有完全限定名称的xpath?