xmlbeans 2.5.0入门使用

xmlBeans有点类似于hibernate的映射文件的实现机制,他根据xml的.xsd文件来生成相应的值对象和解析代码(如果把xml文件理解为一个数据库表,那么.xsd文件相当于表结构,想详细了解,推荐一个很好的论坛:http://bbs.xml.org.cn/index.asp 中国xml论坛),这些事情可以使用xmlBeans带的小工具生成代码和jar包,然后调用生成jar包中的api就可以方便的实现解析。

 

1:要使用首先去http://www.apache.org/dyn/closer.cgi/xmlbeans下载,下完后解压后,推荐设置系统环境变量,将解压后的根目录E:/my/xmlbeans-2.5.0设置到XMLBEANS_HOME环境中即可,这样xmlBeans的环境就搭好了,下面介绍如何使用

2:先建立一个web项目Test2,然后将xmlBeans里的lib目录下的jar包都拷到Test2项目的lib里,然后从xmlBeans里的Sample里拷了一个action.xsd和action.xsdconfig,前者主要是来定义xml包格式,后者主要是用来控制生产的类路径

 

3:然后点击开始=输入cmd,回车到命令窗口栏,执行scomp,scomp工具是生成类的工具,语法格式如下:

scomp [options] [dirs]* [action.xsd]* [service.wsdl]* [action.xsdconfig]*

根据上面规则在命令行输入如下内容:

scomp -src c:/test/src -out c:/test/actionXMLBean.jar c:/action.xsd -compiler "C:/Java/jdk1.6.0_07/bin/javac" c:/action.xsdconfig

 

这样就在c:目录下的test里生成了相关的jar包和源文件,然后将jar包拷入Test2的lib目录里,

最后编写测试类,如下:

 

import java.io.File;

import java.io.IOException;

import java.io.StringWriter;

 

import org.apache.xmlbeans.XmlAnySimpleType;

import org.apache.xmlbeans.XmlCursor;

 

import com.sample.xmlbeans.ActionsDocument;

import com.sample.xmlbeans.ActionDocument.Action;

import com.sample.xmlbeans.ResultDocument.Result;

 

public class XmlBeanTest

{

    /**

     * @param args

     */

    public static void main(String[] args)

    {

        // TODO Auto-generated method stub

//        File file = new File("c:/action.xml");

        try

        {

            //创建文档,包含跟节点

            ActionsDocument doc = ActionsDocument.Factory.newInstance();

            //添加文档子节点

            Action a =doc.addNewActions().addNewAction();

 

            //设置子节点的属性

            XmlAnySimpleType type = a.addNewActionClass();

            type.setStringValue("org.apache.Class");

            type = a.addNewName();

            type.setStringValue("getit");

 

            //添加文档子节点

            Result rs = a.addNewResult();

 

            //设置子节点的属性

            XmlAnySimpleType name = rs.addNewName();

            name.setStringValue("success");

            XmlCursor c1 = rs.newCursor();

            c1.setTextValue("a.jsp");

 

            rs = a.addNewResult();

             name = rs.addNewName();

            name.setStringValue("fail");

            XmlCursor c = rs.newCursor();

            c.setTextValue("b.jsp");

 

            //把文档输出到文件里面

            //doc.save(file);

           //把文档输出到标准输出

            doc.save(System.out);

            //把文档输出到字符串

            StringWriter sw = new StringWriter();

            doc.save(sw);

            System.out.println(sw.getBuffer().toString());

        }

        catch (IOException e)

        {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

 

    }

 

}

 

测试成功打印如下内容就大功告成了。

<?xml version="1.0" encoding="UTF-8"?>

<actions><action actionClass="org.apache.Class" name="getit"><result name="success">a.jsp</result><result name="fail">b.jsp</result></action></actions><actions><action actionClass="org.apache.Class" name="getit"><result name="success">a.jsp</result><result name="fail">b.jsp</result></action></actions>

http://blog.csdn.net/rich1979/archive/2005/12/20/557738.aspx

http://blog.csdn.net/czmchen/archive/2010/09/19/5894773.aspx

http://blog.csdn.net/sophia427/archive/2007/11/15/1887254.aspx

都介绍不错,可以参考下。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值