【发布时间】:2013-12-19 20:11:09
【问题描述】:
我有一个System.xml.xmlDocument() 对象,它使用 XSL 呈现到网页上。我想在 XML 对象的某些节点内插入一个“换行符”,因此当使用 XSLT 呈现 XML 时,那里有一个实际的换行符。我执行此操作的代码如下所示:
Dim parentNodes As System.Xml.XmlNodeList = objOutput.SelectNodes("//PARENT")
Dim currentParentValue As String = String.Empty
Dim resultParent As String = String.Empty
For Each par As System.Xml.XmlNode In parentNodes
currentParentValue = par.InnerText
Dim parArray As String() = currentParentValue.Split(";")
If parArray.Length > 2 Then
resultParent = String.Empty
Dim parCounter As Integer = 0
For Each Parent As String In parArray
parCounter = parCounter + 1
resultParent = resultParent + Parent + "; "
If (parCounter Mod 2) = 0 Then
resultParent = resultParent + "
"
End If
Next
End If
par.InnerText = resultParent
Next
在 XSL 中:
<td width="50%" nowrap="nowrap">
<xsl:value-of select="STUDENT_DETAILS/PARENT"/>
</td>
但是,xmlDocument 似乎自动转义了下一行字符,所以它只是在页面上显示为文本,谁能告诉如何解决这个问题?
【问题讨论】:
-
您的 XSLT 调用在哪里?还请添加输入 XML 和所需输出的相关示例。目前这个问题相当模糊。
-
@Tomalak 我将尝试编辑以添加它,但我看不出它会产生什么影响,我正在尝试使用
&#xA;在节点内插入换行符并想要如果它在 HTML 页面上显示为实际的换行符,那么 XML 的格式会有什么不同? -
因为您可以(并且可能应该)在 XSLT 中正确执行此操作,而不是事后修改转换后的 XML。但是要看看这是否可行,我需要查看源代码。 (在任何其他情况下,问题都与 XSLT 无关,可以完全删除标签)
-
AFAIK,为了在 HTML 页面上看到实际的换行符,您需要插入
<br/>标签,而不是换行符。