2013-08-27 89 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()); 
}