我有一个java代码片段:
public static String echo(String a) {
System.out.println("HERE I AM:"+a+":");
return "<xxx>" + a + "</xxx>";
}
由以下 xsl 片段调用:
<GOGO>
<xsl:variable name="test">
<xsl:copy-of select="responseStatus"/>
</xsl:variable>
<xsl:copy-of select="javamap:echo($test)"/>
</GOGO>
出于某种原因,如果将 xml 传递给 java 方法,则会删除所有元素标记。在输出端,如果我尝试返回 xml 标签,< 和 > 将被转换为 & lt; 和>
我的代码片段有什么问题,如何修复它以输出 XML?
编辑(在第一次回复后)让我详细说明问题:
我的系统输出如下: 我在这里:
val1
val2
:
理想情况下,我希望我的系统是:
HERE I AM:<foo>val1</foo><bar>val2</bar>:
如您所见,xml 标签由于某种原因被删除。
这是我想出的解决方案:
public static String echo(Node a) throws Exception {
StringWriter writer = new StringWriter();
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.transform(new DOMSource(a), new StreamResult(writer));
String xml = writer.toString();
return xml;
}