Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将换行HTML元素传递给XSL_Java_Html_Xslt 2.0 - Fatal编程技术网

Java 将换行HTML元素传递给XSL

Java 将换行HTML元素传递给XSL,java,html,xslt-2.0,Java,Html,Xslt 2.0,我有一个方法methodA,它返回元素的arraylist。现在我正在尝试使用XSL准备HTML报告 以下是我正在做的: 首先,我正在为XSL文件准备一个XML。假设我正在创建一个textnode,如下所示: Element unusedX = docforXSL.createElement("Unused"); unusedX.appendChild(docforXSL.createTextNode(StringUtils.join(methodA().iterator(), ",")));

我有一个方法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方法,该方法使用第二个参数作为分隔符。现在,我使用逗号作为分隔符。我将呈现此节点的XSL代码是:

<td align = "center"><xsl:value-of select="Unused"/></td>
在这里,我将在报告的一列中使用逗号分隔arraylist元素

在HTML报告中,我希望每个arraylist元素位于不同的换行符上,而不是用逗号分隔

如果我将HTML line breakbr或\n作为第二个参数,则无法在HTML文件中正确呈现它们


好心的建议

.createTextNode将文本视为纯文本,而不是HTML

请参见

您可以使用XSL首先计算Unused的值,然后再计算标记化创建的序列,并添加换行符。
的答案中包含了一些很好的示例,展示了如何进行这种转换。

Hi Ross我正在使用Java和XSL动态地完成所有这些工作。我不确定,但我怀疑它在这里是否也能起同样的作用。我正在使用Java和XSL动态地完成所有这些工作。是否可以在我的XSL文件中添加一些函数,以便它将我从Java文件传递的textseparator解释为换行符,并可以为我实现这一点?您是否有特殊的理由将分隔符视为换行符?如果您可以通过拆分字符串和迭代值来使用XSL实现这一点,这对您有影响吗?没有,我只是在想是否可以这样做。但是现在我更改了Java代码,它创建的textnodes数量等于arraylist中的元素数。因此,我现在可以很容易地使用XSL在元素之间换行。