我有一个方法methodA(),它返回一个元素的arraylist。现在我正在尝试使用XSL准备HTML报告。
这是我正在做的事情:
首先,我正在为我的XSL文件准备XML。我正在创建一个textnode:
Element unusedX = docforXSL.createElement("Unused");
unusedX.appendChild(docforXSL.createTextNode(StringUtils.join(methodA().iterator(), ",")));
我的XML看起来像
<Unused>arraylist elements separated by commas</Unused>
这里我使用的是Commons.lang StringUtils的join()方法,它将第二个参数作为separator.Right现在我使用逗号(,)作为separator.My XSL代码将呈现此节点:
<td align = "center"><xsl:value-of select="Unused"/></td>
在这里,我将在报告的一列中用逗号分隔我的arraylist元素。
在我的HTML报告中,我希望每个arraylist元素位于不同的行(换行符),而不是用逗号分隔。
如果我将HTML换行符(br)或\ n作为第二个参数,则无法在HTML文件中正确呈现它们。
请咨询!!!
答案 0 :(得分:0)
.createTextNode将文本视为纯文本,而不是HTML。
请参阅Javascript, trying to add linebreak inside create text node method
答案 1 :(得分:0)
您可以使用XSL首先tokenize Unused
以及iterate的值,而不是标记化创建的序列,并添加换行符。
XSL: Construct an Array from a Delimited String的答案包含一些很好的例子,说明如何进行这种转换。