java操作XML中的占位符-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

java操作XML中的占位符

简介:

有时XML的某些内容是待定的,对于这些内容可以在XML文件中使用占位符


  1. <people> 
  2.  <person id="001"> 
  3.   <name>$name</name> 
  4.   <age>$age</age> 
  5.  </person> 
  6. </people> 

读取该文件的时候可以为其中的占位符设置值


  1. /**  
  2.  * IO操作工具类  
  3.  *   
  4.  * @author 徐越  
  5.  *   
  6.  */ 
  7. public class IOUtils  
  8. {  
  9.     /**  
  10.      * 读取输入流为byte[]数组  
  11.      */ 
  12.     public static byte[] read(InputStream instream) throws IOException  
  13.     {  
  14.         ByteArrayOutputStream bos = new ByteArrayOutputStream();  
  15.         byte[] buffer = new byte[1024];  
  16.         int len = 0;  
  17.         while ((len = instream.read(buffer)) != -1)  
  18.         {  
  19.             bos.write(buffer, 0, len);  
  20.         }  
  21.         return bos.toByteArray();  
  22.     }  
  23. }  
  24.  
  25. InputStream instream = this.getClass().getClassLoader().getResourceAsStream("person.xml");  
  26. String oldXML = new String(IOUtils.read(instream), "UTF-8");  
  27. String newXML = oldXML.replaceAll("\\$name""徐越").replaceAll("\\$age","22"); 

要说明的是replaceAll第一个参数是正则表达式,正则表达式中$需要用\转义。

Java中对\又需要用\进行转义,所以写成\\$name 。

本文转自IT徐胖子的专栏博客51CTO博客,原文链接http://blog.51cto.com/woshixy/1092051如需转载请自行联系原作者


woshixuye111

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: