如何unformat xml文件 [英] How to unformat xml file

查看:124
本文介绍了如何unformat xml文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个返回格式为xml的 String 的方法。该方法从服务器上的文件中读取xml,并将其解析为字符串:

实际上目前的方法是:

  private ServletConfig config; 
InputStream xmlIn = null;
xmlIn = config.getServletContext()。getResourceAsStream(filename +.xml);
String xml = IOUtils.toString(xmlIn);
IOUtils.closeQuietly(xmlIn);
return xml;

我需要做的是添加一个新的输入参数,并根据该值继续返回格式化的XML,或返回无格式的XML。

我的意思是格式化的xml是这样的:

 < ; XML> 
< root>
< elements>
< elem1 />
< elem2 />
< elements>
< root>
< / xml>

我的意思是无格式的xml是这样的:

 < xml>< root>< elements>< elem1 />< elem2>< elements>< root>< / xml> ; 

或:

 < XML> 
< root>
< elements>
< elem1 />
< elem2 />
< elements>
< root>
< / xml>

是否有一个简单的方法可以做到这一点?

解决方案

使用去掉所有换行符字符串xml = IOUtils.toString(xmlIn).replace(\\\
,)
。或者 \ t 保留几行,但没有缩进。


I have a method which returns a String with a formatted xml. The method reads the xml from a file on the server and parses it into the string:

Esentially what the method currently does is:

  private ServletConfig config;
  InputStream xmlIn = null ;
  xmlIn = config.getServletContext().getResourceAsStream(filename + ".xml") ; 
  String xml = IOUtils.toString(xmlIn);
  IOUtils.closeQuietly(xmlIn);
  return xml;  

What I need to do is add a new input argument, and based on that value, continue returning the formatted xml, or return unformatted xml.

What I mean with formatted xml is something like:

<xml>
  <root>
    <elements>
       <elem1/>
       <elem2/>
    <elements>
  <root>
</xml>

And what I mean with unformatted xml is something like:

<xml><root><elements><elem1/><elem2/><elements><root></xml>

or:

<xml>
<root>
<elements>
<elem1/>
<elem2/>
<elements>
<root>
</xml>

Is there a simple way to do this?

解决方案

Strip all newline characters with String xml = IOUtils.toString(xmlIn).replace("\n", ""). Or \t to keep several lines but without indentation.

这篇关于如何unformat xml文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆