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);