首页 相关文章 Java中合并XML文档的设计与实现

Java中合并XML文档的设计与实现

摘 要:介绍了XML应用中合并XML文档的方法与应用,在基于XML的应用中,有着广泛的应用前景。

关键词:XML文档 解析器 元素

在XML应用中,最常用也最实用的莫过于XML文件的读写。由于XML语义比较严格,起始标记必须配对,所以合并XML文档并不像合并普通文件那样简单。在JAVA中,如何合并XML文档,下面介绍一种方法。

设计思想

应用javax.xml.parsers包中的解析器解析得到两个XML文件的根元素,再采用递归的方式逐一复制被合并文件的元素。


实现过程

为了读写XML文件,需要导入如下JAVA包,"//"后为注释说明,笔者的环境是JDK1.3.1,在JDK 1.4.0中测试也通过。

Import java.io. *; //Java基础包,包含各种IO操作
[ 查看全文 ]

2016-02-19 标签:
  • 标签:Java JAVA基础
      本文简要的讨论了Java语言编程中更新XML文档的四种常用方法,并且分析这四种方法的优劣。其次,本文还对如何控制Java程序输出的XML文档的格式做了展开论述。 JAXP是Java API for XML Processing的英文字头缩写,中文含义是:用于XML文档处理的使用Java语言编写的编程接口。JAXP支持DOM、SAX、XSLT等标准。为了增强JAXP使用上的灵活性,开发者特别为JAXP设计了一个Pluggability Layer,在P...[ 查看全文 ]
  • 标签:Java JAVA基础
    早在Java 1.2推出之时,Java平台中就引入了一个新的支持:java.lang.ThreadLocal,给我们在编写多线程程序时提供了一种新的选择。使用这个工具类可以很简洁地编写出优美的多线程程序,虽然ThreadLocal非常有用,但是似乎现在了解它、使用它的朋友还不多。 ThreadLocal是什么 ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是thre...[ 查看全文 ]
  • 标签:Java JAVA基础
    简单介绍一下Java关于xml的API,这样大家看到了缩写就知道是干什么的了。水平有限,多多包涵。 1、JAXP(Java API for XML Parsing) 2、JAXB(Java API for XML Binding) 3、JAXM(Java API for XML Messaging) 4、JAX-RPC(Java API for XML-RPC) 1、JAXP定义了在Java中使用DOM, SAX, XSLT的通用的接口。这样在你的程序中你只要使用这些通用的接口,当你需...[ 查看全文 ]
  • 标签:Delphi
    最近,买了一张英语900句的学习光盘,因为没有相应的书面文字材料,就想自己将光盘中的文档提取出来,可一打开光盘,发现虽然每一句都有相应的详细文字材料,但每一句都单独存放在一个独立的RTF文档中(Sentence001.rtf至Sentence900.rtf),使用起来非常麻烦,于是就想将所有900句句型的文字材料合并到一起,即将900个独立的文档合并为一个文档。 2.解决方法 2.1 常规方法 首先想...[ 查看全文 ]
  • 标签:PHP
    作者:雨伞(geezer) 2004/12/22  QQ:9986986 MSN:geezer_hot@hotmail.com 首先如果你对JAVA与PHP不感兴趣或者说也不打算学习两者的话请不要浪费时间在这里。 请先安装JAVA的执行环境与PHP结合,具体参考http://www.phpx.com/happy/thr78795.html或者下载http://www.javax.org/old/download/JavaXml.rar 里面我写有个readme.txt说明文档,这个压缩包是个简单的例子。有其他问题请联...[ 查看全文 ]
  • 先简单说下前三种方式: DOM方式: 个人理解类似.net的XmlDocument,解析的时候效率不高,占用内存,不适合大XML的解析; SAX方式: 基于事件的解析,当解析到xml的某个部分的时候,会触发特定事件,可以在自定义的解析类中定义当事件触发时要做得事情;个人感觉一种很另类的方式,不知道.Net体系下是否有没有类似的方式? StAX方式: 个人理解类似.net的XmlReader方式,效率高,占用内存少,适用大X...[ 查看全文 ]
  • template class CToolbar { public: CToolbar(); void CreateToolbar(HWND hParent);// 创建工具条 void AddButtons();// 逐个加入按钮 void DestroyToolbar();// 撤消工具条 LRESULT OnToolbarNeedText(WPARAM, LPNMHDR pnmh, BOOL&); // 工具条上按钮的提示信息 protected: HWND m_hwndToolbar;// 工具条的窗口句柄 }; 接着,要...[ 查看全文 ]
  • 解析XML文件: 在Android平台上可以使用SAX、DOM和Android附带的pull解析器解析XML文件; pull解析器提供了各种事件,使用parser.next()方法进入下一个元素并触发相应事件,pull解析器产生的事件是一个数字,可以通过switch对感兴趣的事件进行处理;通过paser.nextText()方法可以获取下一个Text类型的节点的值; http://xmlpull.org/xmlpull-website/impls.shtml; 读取XML XmlPullParser pullParser = Xm...[ 查看全文 ]
  • 代码如下: URL ur = new URL("http://localhost:8080/first/he.txt"); HttpURLConnection conn = (HttpURLConnection) ur.openConnection();//URL.openConnection() -- return URLCommection(直接子类HttpURLConnection) conn.setRequestProperty("Range", "bytes=5-");//设置请求参数属性,设置下载从第5个字节开始下载; InputStream in = conn.getInputStream(); int len = 0; byte[] buf = new byte[10...[ 查看全文 ]
  • 标签:Java JAVA基础
    假设这样一种情况,我们的系统的界面使用javax.swing包构建,界面的基础是BaseView,他是一个容器,当然他应当提供获取控件元素的功能,比如得到按钮,下拉框,表格等,当然仅仅是一个容器而已,而我们的界面的元素全部部署在JPanel上。 描述为: 一个界面就是一个BaseView,他只包含一个JPanel,这个包含JPanel包含所有我们的Swing控件,例如JButton,JLable等等。 问题出现了:我们通常因...[ 查看全文 ]
  • 标签:ASP
      本文通过一个详细的例子,来阐述了在线编辑XML文档数据的方法。由于Netscape对XML的支持比较弱,因此,要实现跨平台的数据交换,数据的处理必须在服务器端进行。要编辑XML文档,首先要做的事情就是怎样把这些数据提取并显示给访问者,XSL为我们显示XML文件提供了一个很好的解决方案。下面的例子就是利用XSL样式单把XML文档显示出来,供用户进行编辑,然后再把编辑后的数据提交到服务器,在服务器...[ 查看全文 ]
  • 标签:Java JAVA基础
    在平时工作中,难免会遇到把 XML 作为数据存储格式。面对目前种类繁多的解决方案,哪个最适合我们呢?在这篇文章中,我对这四种主流方案做一个不完全评测,仅仅针对遍历 XML 这块来测试,因为遍历 XML 是工作中使用最多的(至少我认为)。 预 备 测试环境: AMD 毒龙1.4G OC 1.5G、256M DDR333、Windows2000 Server SP4、Sun JDK 1.4.1+Eclipse 2.1+Resin 2.1.8,在 Debu...[ 查看全文 ]
  • 标签:PHP
      摘要 本论文简要介绍了PHP、XML、PDF等技术的原理以及它们的应用情况。力图运用PHP面向对象的特性,构建出一套基于PHP和XML的在线PDF文档生成系统。文中详细探讨了整个系统的组成部分以及各自的实现过程。并在最后给出一个运用这套系统实现的动态创建报表的实例。 Abstract This article introduced the fundamentls of PHP,XML and PDF and their application situation at present,expe...[ 查看全文 ]
  • login.java: 代码如下: package com.ncu; import java.io.PrintWriter; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class login extends HttpServlet{  public void doGet(HttpServletRequest req,HttpServletResponse res){   try{    //res.setCharacterEncoding("u...[ 查看全文 ]
  • 相信大家对 String 和 StringBuffer 的区别也已经很了解了,但是估计还是会有很多同志对这两个类的工作原理有些不清楚的地方,今天我在这里重新把这个概念给大家复习一下,顺便牵出 J2SE 5.0 里面带来的一个新的字符操作的类—— StringBuilder (先别忙着扔我砖头,我还算清醒,我这里说的不是 C #, Java 也有 StringBuilder 类)。那么这个 StringBuilder 和 StringBuffer 以及我们最早遇见的 String 类...[ 查看全文 ]
  • 标签:办公软件
    将多个Word文档合并为大文档Word文档是目前最常用的一种数据文档,所以研究Word文档的合并具有比较现实的意义。 首先强调一点,就是由于Word本身的强大功能,合并Word文档只要使用Word本身的功能就可以了,根本不必借助于第三方工具软件。 在Word这众多功能中,有三种功能可用于合并文档,即自动图文集、图文场和文件插入,其中尤其以插入文件操作最为简单方便,其次就是图文场功能。自动图文集用...[ 查看全文 ]
  • 标签:Web开发
    Lucene中的自定义排序功能和Java集合中的自定义排序的实现方法差不多,都要实现一下比较接口. 在Java中只要实现Comparable接口就可以了.但是在Lucene中要实现SortComparatorSource接口和ScoreDocComparator接口.在了解具体实现方法之前先来看看这两个接口的定义吧. SortComparatorSource接口的功能是返回一个用来排序ScoreDocs的comparator(Expert: returns a comparator for sorting ScoreDocs).该接口只定义...[ 查看全文 ]
  • 答:import java.util.*; class test { public static void main(String[] args) { String str1="001,002,003,004,006",str2 = "001,002,005"; String str=""; TreeSet ts = new TreeSet(); StringTokenizer st = new StringTokenizer(str1,","); while (st.hasMoreTokens()) { ts.add(st.nextToken()); } st = new StringTokenizer(str2,","); while (st.hasMoreTokens()) { ts.add(st.ne...[ 查看全文 ]
  • 首先看这两类都实现List接口,而List接口一共有三个实现类,分别是ArrayList、Vector和LinkedList。List用于存放多个元素,能够维护元素的次序,并且允许元素的重复。 3个具体实现类的相关区别如下: 1.ArrayList是最常用的List实现类,内部是通过数组实现的,它允许对元素进行快速随机访问。数组的缺点是每个元素之间不能有间隔,当数组大小不满足时需要增加存储能力,就要讲已经有数组的数据复制到新的存...[ 查看全文 ]
  • final可以修饰类 ,成员变量,局部变量和方法。 1.final修饰成员变量 1.final成员变量的初始化 对于final修饰的变量,系统不会默认初始化为0 fina变量初始化方式: 在定义的时候初始化 final变量可以在初始化块中初始化,不可以在静态初始化块中初始化。 静态final变量可以在静态初始化块中初始化,不可以在初始化块中初始化。 fina变量还可以在构造函数中初始化,但是静态final变量不可以。 2.fin...[ 查看全文 ]
手机页面 收藏网站 回到头部