一个用Jdom输出XML的java程序

通过java程序组织数据输出XML的方法有很多种,用JDOM的组件包构建XML便是其中比较方便的一种,以下通过一个例子来说明。

首先,从这里下载jdom的包,并将/build/jdom.jar导入eclipse。

其次,新建一个类。具体代码参考下面。通过下面的代码就可以输出XML代码了。

jdom的使用方法,请参考这里

package  xmlcreate;

import  java.io. * ;
import  org.jdom. * ;
import  org.jdom.input. * ;
import  org.jdom.output. * ;
import  java.io.IOException; 
import  java.io.PrintWriter; 
import  javax.servlet.ServletException; 
import  javax.servlet.http.HttpServlet; 
import  javax.servlet.http.HttpServletRequest; 
import  javax.servlet.http.HttpServletResponse;

public   class  Xmlcreate  extends  HttpServlet {
    
protected void doGet(HttpServletRequest request, HttpServletResponse response) 
      
throws ServletException, IOException 
      PrintWriter out 
= response.getWriter(); 
      
      
//下面这句话必备,否则输出的XML不能被AJAX的对象XMLHttpResquest的方法responseXML()所识别,只能在responseText里输出
      response.setContentType("text/xml;charset=UTF-8");
      String keyword 
= Escape.unescape(request.getParameter("keyword"));
      
         
try {
             String[] key       
= {"111","112","113","132","131","232","321","211","258"};
             String[] content 
= {"aaa","bbbbbbbbbbbbbbbbaa","ccc","ddd","中文","测试","中国人","测试成员","一个好长好长的试一下啊"};
             Xmlcreate s1 
= new Xmlcreate();
             s1.BuildXMLDoc(key,content,keyword,out);
             }

         
catch (Exception e) {
             System.out.println(e.getMessage());
         }

    }
 
     
     
public void BuildXMLDoc(String[] key,String[] content,String keyword,PrintWriter out) 
    
throws IOException, JDOMException
{        
    Element resultRoot 
= new Element("result");
    Document Doc 
= new Document(resultRoot);
    
for(int i =0;i<key.length;i++){
        
int keyindex = key[i].indexOf(keyword);
        
int contentindex = content[i].indexOf(keyword);
        
if(keyindex == 0 || contentindex == 0){
            Element rsNode 
= new Element("rs");
            resultRoot.addContent(rsNode);
      
            Element keyNode 
= new Element("key");
            keyNode.addContent(Escape.escape(key[i]));
            rsNode.addContent(keyNode);
          
            Element contentNode 
= new Element("content");
          
            contentNode.addContent(Escape.escape(content[i]));
            rsNode.addContent(contentNode);
        }

    }


    
//Format format = Format.getPrettyFormat();
    
//format.setEncoding("GB2312");
    
//XMLOutputter XMLOut = new XMLOutputter(format);
    XMLOutputter XMLOut = new XMLOutputter();
    XMLOut.output(Doc, out);
    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值