【问题标题】:How to convert xml file to string without escaping XML using java如何在不使用 java 转义 XML 的情况下将 xml 文件转换为字符串
【发布时间】:2013-08-30 14:17:15
【问题描述】:

我有一个XML 文件,并希望将其内容作为字符串发送给调用者。这是我正在使用的:

return FileUtils.readFileToString(xmlFile);

但是这个(或者我尝试过的所有其他方式,比如逐行阅读)转义 XML 元素并用<string> 将整个 XML 括起来

<string>><.....</string>

但我想回来 <a>....</a>

【问题讨论】:

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

标签: java xml file java-io


【解决方案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();
}

这可能是文件工具的一个特性。

【讨论】:

    【解决方案2】:

    根据您的问题,您只想阅读文件。您可以使用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);
            }
    

    希望这个答案对你有帮助

    【讨论】:

      【解决方案3】:

      IOUtils 运行良好。它在包 org.apache.commons.io 中。 toString 方法将 InputStream 作为参数,并将内容作为维护格式的字符串返回。

      InputStream is = getClass.getResourceAsStream("foo.xml");
      String str = IOUtils.toString(is);
      

      【讨论】:

        【解决方案4】:
        BufferedReader br = new BufferedReader(new FileReader(new File(filename)));
        
        String line;
        
        StringBuilder sb = new StringBuilder();
        
        while((line = br.readLine())!= null){
        
            sb.append(line.trim());
        }
        

        【讨论】:

          猜你喜欢
          • 2013-06-04
          • 2012-02-28
          • 1970-01-01
          • 1970-01-01
          • 2013-03-31
          • 2015-01-29
          • 2011-04-22
          • 2012-03-06
          相关资源
          最近更新 更多