什么会导致javax.xml.transform.Transformer.transform()返回空字符串

时间:2011-07-07 20:29:53

标签: java xslt

我有一段这样的代码。我发现myResults = writer.getBuffer().toString();为某些用例返回了EMPTY STRING,但没有为其他用例返回。

我查看了服务器,但没有在xml文件中看到任何特殊字符。什么会 导致transformer.transform()出错导致myResults = writer.getBuffer().toString();返回空字符串?它不返回null,只返回一个空字符串。

    StringWriter writer = new StringWriter();
    Result result = new StreamResult(writer);
    try{
        transformer.transform(new StreamSource(theInputStream), result);
    }catch (Exception e) {
        e.printStackTrace();
    }

    myResults = writer.getBuffer().toString();

非常感谢,

2 个答案:

答案 0 :(得分:0)

我最近碰到了这个,但我不确定它的情况是否相同。

我正在开发Windows并部署到Linux机器上。一切都会在我的Windows机器上变换很好,但是在linux盒子里有哪些文件可以转换,文件会生成一个空文件。我终于找到答案是在Xslt变换的行结尾。将行结尾更改为Linux样式行结尾后,转换工作正常。

希望这有帮助。

答案 1 :(得分:0)

当我的输入XML无效时,我观察到了这种行为。不是其架构,但语法上不正确。它包含<!-- -- -->--在XML注释内无效。