直接用SAX比较麻烦吧?另外,你合并的条件是什么?
解决方案 »
- 想做通讯方面得开发,需要那些知识
- Editplus关联JDK 来学习JAVA编程,怎么设置编程的风格
- jboss3.2 + tom4 抛出异常:All threads are busy
- 问个关于webLogic的问题 安装不了
- 认识大家,向大家学习,一起进步。
- hibernate访问数据库的问题(远程同步),同志们帮忙看看
- TOMCAT配置问题
- 在哪里配置Weblogic中JDBC Pool和Data Source?
- 50分,大家帮我配置好java&XML运行环境,可以运行就给分
- maven比ant强在哪?
- 求救 关于 子页面关闭,父页面刷新后又跳出新窗口的问题
- 为什么我用Session.createQuery(hql).executeUpdate()无法删除?
我现在的项目要处理的文件数量比较大,
考虑到速度问题,只能使用sax
合并的条件是:
假如现在有两个xml文件,一个是
a.xml:
<a1>aaa
<a2>1234</a2>
</a1>
另一个是
b.xml:
<b1>bbb
<b2>5678</b2>
</b1>
我想要实现的是,在用sax解析a.xml时,
在startElement时,
把b.xml插入a.xml,把a.xml变成:
<a1>aaa
<a2>1234</a2>
<b1>bbb
<b2>5678</b2>
</b1>
</a1>
请高手们多多指教,多谢啦
String sName, // simple name
String qName, // qualified name
Attributes attrs)
throws SAXException
{ // 等待另外一个线程的分析,使按确定的顺序输出
synchronized(this){
try {
wait();
} catch (InterruptedException ire) {
}
} echoText();
String eName = sName; // element name
if ("".equals(eName)) eName = qName; // not namespaceAware
emit("<"+eName);
if (attrs != null) {
for (int i = 0; i < attrs.getLength(); i++) {
String aName = attrs.getLocalName(i); // Attr name
if ("".equals(aName)) aName = attrs.getQName(i);
emit(" ");
emit(aName+"=\""+attrs.getValue(i)+"\"");
}
}
emit(">");
}这段代码来自"J2EE 1.4 Tutorial(http://java.sun.com/j2ee/1.4/download.html#tutorial)"第3章中的例子"echo01.java"