• xmlbeans读写xml文件


       XMLBean是Apache的一个开源项目,可以从http://www.apache.org下载,另外还需要下载trang.jar

    对于trang.jar参见http://www.thaiopensource.com/download/old/relaxng/20030122/trang-manual.html#introduction

    a。配置xmlbean的home:XMLBEANS_HOME=D:\framework\xmlbeans-2.3.0,
    b。在PATH内配置;%XMLBEANS_HOME%\bin 完成这两个步骤后,在cmd内敲入scomp会有提示,表名xmlbean环境搭建成功
    c。把trang.jar拷贝到我们的工作目录(要靠它生成xsd文件)

    准备一个XML文档(example .xml),在本文的例子里,我们将对这个文档进行读写操作. 文档源码如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <example id="lala" type="test">        
           <log  user="用户"  userType="账号类型"  />
          <log   user="用户"  userType="账号类型"  />
    </example >

     生成XML Schema文件

    运行java -jar trang.jar example.xml example.xsd获取xsd文件(此处为example.xsd)。命令中example.xml代表输入参数,example.xsd代表输出参数。

     此外,还要准备一个配置文件(文件名example .xsdconfig),这个文件的

    作用只是定义包名,它的内容如下:

    <xb:config xmlns:xb="http://xml.apache.org/xmlbeans/2004/02/xbean/config">
    
        <xb:namespace>
    
           <xb:package>sample.xmlbean</xb:package>
    
        </xb:namespace>
    
    </xb:config>

    运行命令scomp -src buildsrc -out example.jar example.xsd -compiler C:\Java\jdk1.6.0\bin\javac example.xsdconfig
    这个命令行的意思是告诉scomp生成example.jar,同时生成源代码放在buildsrc下, Schema文件是customer.xsd,xsdconfig文件是customer.xsdconfig.
    获得example.jar,大功告成。

    如果出现异常:Xmlbeans java.io.IOException: CreateProcess error=2, ????????? 

    那么有可能你的java路径包含了空格,对于cmd中不识别空格的时候,可以将含有空格的路径用双引号

    D:\xmlbeans-2.3.0\samples\Any\schemas>scomp -out example.jar example.xsd -compiler %JAVA_HOME%\bin\javac

    InfoDocument doc=InfoDocument.Factory.newInstance();
            Example example=doc.addNewExample();
            example.setId("1");
            example.setType("type1");
            for(int i=0;i<1;i++){
                Log l1=example.addNewLog();
                l1.setUer(String.valueOf(i));
                l1.setUerType("手机"+i);
               
                
            }
            File f=new File("d:/example001");
            doc.save(f);
            
            doc=ExampleDocument.Factory.parse(f);
            example=doc.getExample();
            for(int i=0;i<1;i++){
                Log l1=example.addNewLog();
                l1.setUer(String.valueOf(i));
                l1.setUerType("电脑"+i);
              
            }
            doc.save(f);
  • 相关阅读:
    CakePHP Model中( 获取Session)使用Component的方法
    EDM站点
    PHP数组中插入元素
    (转)Html邮件CSS指南
    Expected one result (or null) to be returned by selectOne(), but found 2
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    myeclipse 控制台打印空指针 ,黏贴控制台sql到plsql有结果集,异常处理
    target="_blank"
    关于单点登录第一天接触之我见
    model is null
  • 原文地址:https://www.cnblogs.com/lansor/p/2541261.html
Copyright © 2020-2023  润新知