2013-08-27 140 views
0

我有一个XML文件,并且想要将其内容作为字符串发送给调用方。这是我使用的是什么:如何将xml文件转换为字符串而不使用java转义XML

return FileUtils.readFileToString(xmlFile);

但是这(或那件事我试图像逐行读取行中的所有其他方面)逃脱的XML元素,并与<string>包围整个XML这样

<string>&gt;&amp;lt;.....</string>

,但我想回到 <a>....</a>

+2

中没有任何'FileUtils.readFileToString()'会修改正在读取的数据逃脱任何东西。数据已经以这种方式存在于文件中,或者其他内容正在引入转义。您确实没有提供足够的信息,也没有显示如何在输入文件中知道数据未转义。 –

回答

1

我会用不同的文件阅读器,也许是这样的建议。

private String readFile(String file) throws IOException { 
    BufferedReader reader = new BufferedReader(new FileReader (file)); 
    String   line = null; 
    StringBuilder stringBuilder = new StringBuilder(); 
    String   ls = System.getProperty("line.separator"); 

    while((line = reader.readLine()) != null) { 
     stringBuilder.append(line); 
     stringBuilder.append(ls); 
    } 

    return stringBuilder.toString(); 
} 

这可能是文件使用情况的一个功能。

+0

相同的结果....没有帮助 –

0

根据你的问题,你只是想读取文件。您可以使用FileReaderBufferedReader来读取文件。

File f=new File("demo.xml"); 
     FileReader fr=new FileReader(f); 
     BufferedReader br=new BufferedReader(fr); 

     String line; 
     while((line=br.readLine())!=null) 
     { 
      System.out.println(line); 
     } 

希望这个答案可以帮助你

0

IOUtils效果很好。它在包org.apache.commons.io中。 toString方法将InputStream作为参数,并以维持格式的字符串的形式返回内容。

InputStream is = getClass.getResourceAsStream("foo.xml"); 
String str = IOUtils.toString(is); 
-1
BufferedReader br = new BufferedReader(new FileReader(new File(filename))); 

String line; 

StringBuilder sb = new StringBuilder(); 

while((line = br.readLine())!= null){ 

    sb.append(line.trim()); 
}