java操作XML中的占位符

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

<people>
 <person id="001">
  <name>$name</name>
  <age>$age</age>
 </person>
</people>

 

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

/**
 * IO操作工具类
 *
 * @author 徐越
 *
 */
public class IOUtils
{
	/**
	 * 读取输入流为byte[]数组
	 */
	public static byte[] read(InputStream instream) throws IOException
	{
		ByteArrayOutputStream bos = new ByteArrayOutputStream();
		byte[] buffer = new byte[1024];
		int len = 0;
		while ((len = instream.read(buffer)) != -1)
		{
			bos.write(buffer, 0, len);
		}
		return bos.toByteArray();
	}
}

InputStream instream = this.getClass().getClassLoader().getResourceAsStream("person.xml");
String oldXML = new String(IOUtils.read(instream), "UTF-8");
String newXML = oldXML.replaceAll("\\$name", "徐越").replaceAll("\\$age","22");

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

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

 

时间: 2024-10-30 06:57:54

java操作XML中的占位符的相关文章

hql-HQL中使用占位符查询mysql数据老是报错...

问题描述 HQL中使用占位符查询mysql数据老是报错... 执行语句如下: Session session = HibernateUtil.getSession(); String hql = "from Category where name=?"; Query query = session.createQuery(hql); query.setString(0, "饮品"); 错误: ava.lang.NoSuchMethodError: org.hiber

JAVA操作XML实例分析_java

本文实例讲述了JAVA操作XML的方法.分享给大家供大家参考.具体如下: java代码如下: 复制代码 代码如下: import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import org.w3c.dom.*; import org.xml.sax.SAXException; import javax.xml.

java操作XML实例代码_java

最近一直在做高效平台的框架,其实意识到我要做一个简单的框架的时候是在我已经做完我认为的一版界面之后,开始以为我要做的是一个可配置的首页展示,但是吭哧吭哧做了两个星期,大概功能实现了之后,才发现要做的不是这个,哎,需求不清楚害死人啊,但是这两个星期并没有白白浪费,也从中学到了很多东西,下面主要介绍读取XML.在做系统的时候,经常会遇到读取xml的需求,一开始是读取,于是我上网开始查询读取,接着查询删除,接着查询修改,当把这些代码查的差不多的时候,我发现,我为什么不把这些的操作都封装到一个类里,使用

使用c#来操作XML中的处理指令(PI)

什么是处理指令?处理指令(Processing Instructions,PI)是用"<? ?>"包围的一种标签,用以描述特定应用程序信息.Xml文档可以包含多个针对不同应用程序的处理指令.处理指令由两部分组成,target和 value.target的角色类似于"名称",紧随target之后的字符串就是value,value可以包含多个标记. <?target value?> 那么Xml声明是不是处理指令呢?答案是肯定的,Xml声明是一个特

如何用Java操作XML文件

问题描述 毕业设计,要开发一个图书馆文献采购软件.现在把书目写入了XML文件,如下:<books><book><ISBN>978-7-03-020860-6</ISBN><三目号>00028090041</三目号><题名>概率论与数理统计教程</题名><第一责任说明>李子强</第一责任说明><出版社>科学出版社</出版社><出版地>北京</出版地

Java操作文本文件中的中文

中文 try{RandomAccessFile rf=new RandomAccessFile("e:\\my.txt","rw");String str="中文";byte [] b;b=str.getBytes();rf.write(b);//中文就写入文本文件了.}catch(Exception e){} try{ BufferedReader br=new BufferedReader(new FileReader("e:\\m

Java操作XML动态生成级联菜单

Menu.JSP源码 menu .btn input{ background:#FF6600; border-left:1px #FFFFFF solid; border-top:1px #FFFFFF solid; border-right:1px #990000 solid; border-bottom:1px #990000 solid; padding-top:4px; color:#FFFFFF; } function newItem(ele){ var pNode; var pdiv

浅出Java 的Xml编程

xml|编程 对于Xml,我的认识是,一个用来存放数据的标准格式.怎么看我都觉得XML和Html,完全不一样,也许仅仅只是都使用了标记来作为文档解释的原因吧.所以人们才喜欢把XML和HTML对比来看.对于我个人而言,XML就是一个简单方便的数据文件.因为.它不同与一般的关系型数据库,把数据看出二维表.通过基本的关系运算,获取二维表中的数据.XML仅仅把数据当成一个文档,然后正对文档解析获取数据.所以我的看法是,要操作XML文档,只要一个能够解释XML的文档解释器就可以了.然后把解释的内容.转变成

使用Fireworks修改Dreamweaver图像占位符

可以首先在 Dreamweaver 文档中创建一个占位符图像,然后启动 Fireworks 设计一个图形图像或 Fireworks 表格来替换它. 若要从图像占位符创建新图像,您的系统中必须同时安装有 Dreamweaver 和 Fireworks. 确保您已经将 Fireworks 设为 PNG 文件的图像编辑器. 在"文档"窗口中,单击图像占位符以选择它. 以"从 Dreamweaver 进行编辑"模式启动 Fireworks,方法是执行下列操作之一: 在属性检