XML常用的sax dom解析
XStream 的网站
xstream.codehaus.org/
看到JE上人说用XStream对XML读写不错,去看了下,在xstream的网站上有很详细的例程,这里就不多说了,都能看明白
XStream可以根据需要,写出想要的XML 的格式,
例如常见的 Hibernate 一个pojo类的配置文件 如下
<hibernate-mapping package="com"><class table="novem" name="Person"><id type="integer" column="ID" name="id">
xml 代码
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
- <hibernate-mapping package="com">
- <class name="Person" table="novem">
- <id name="id" column="ID" type="integer">
- <generator class="increment"/>
- </id>
- <property name="name" column="NAME"/>
- <property name="email" column="EMAIL"/>
- </class>
- </hibernate-mapping>
<property column="NAME" name="name">
</property>
生成代码如下:
</id></class></hibernate-mapping>
java 代码
- import java.io.BufferedWriter;
- import java.io.File;
- import java.io.FileNotFoundException;
- import java.io.FileWriter;
- import java.io.IOException;
- import java.util.ArrayList;
- import java.util.List;
-
- import com.thoughtworks.xstream.XStream;
- import com.thoughtworks.xstream.io.xml.DomDriver;
-
- public class createHbmXmlTest {
-
-
-
-
- public static void main(String[] args) {
-
- XStream xstream = new XStream(new DomDriver());
- try{
- File write = new File("d:\\Data\\Person.hbm.xml");
- BufferedWriter brWriter= new BufferedWriter(new FileWriter(write));
-
- String xmlHead="\n\n";
- String xmlBody;
-
- xstream.alias("hibernate-mapping", HibernateMapping.class);
- xstream.alias("class", Class.class);
- xstream.alias("property", Property.class);
- xstream.aliasAttribute("class","generatorClass");
- xstream.aliasAttribute("package", "tpackage");
- xstream.aliasField("class", HibernateMapping.class, "tclass");
-
- xstream.addImplicitCollection(Class.class,"properties");
- xstream.addImplicitCollection(Generator.class, "generatorClass");
-
- List proList=new ArrayList ();
- Property pro1=new Property();
- pro1.setName("name");
- pro1.setColumn("NAME");
- Property pro2=new Property();
- pro2.setName("email");
- pro2.setColumn("EMAIL");
- proList.add(pro1);
- proList.add(pro2);
-
- Generator gen = new Generator("increment");
- ID id=new ID("id","ID","integer",gen);
-
- Class hClass=new Class("Person","novem");
- hClass.setId(id);
- hClass.setProperties(proList);
-
- HibernateMapping hMapping= new HibernateMapping("com",hClass);
-
-
- xstream.useAttributeFor(ID.class,"name");
- xstream.useAttributeFor(ID.class, "column");
- xstream.useAttributeFor(ID.class, "type");
- xstream.useAttributeFor(Class.class, "name");
- xstream.useAttributeFor(Class.class, "table");
- xstream.useAttributeFor(Property.class, "name");
- xstream.useAttributeFor(Property.class, "column");
- xstream.useAttributeFor(Generator.class, "generatorClass");
- xstream.useAttributeFor(HibernateMapping.class, "tpackage");
- xstream.registerConverter(new PropertyConverter());
-
- xmlBody=xstream.toXML(hMapping);
- System.out.println(xmlHead+xmlBody);
-
- brWriter.write(xmlHead+xmlBody);
- brWriter.close();
- }catch(FileNotFoundException e){
- System.out.println(e);
- }catch(IOException e){
- e.printStackTrace();
- }
- }
-
- }
<hibernate-mapping package="com"><class name="Person" table="novem"><id name="id" column="ID" type="integer"><generator class="increment"></generator>
<property name="name" column="NAME"></property>
<property>
<property> </property>
</property>
</id></class></hibernate-mapping>
分享到:
相关推荐
最齐全的xstream1.4.8.jar 最齐全的xstream1.4.8.jar 最齐全的xstream1.4.8.jar 最齐全的xstream1.4.8.jar 最齐全的xstream1.4.8.jar 最齐全的xstream1.4.8.jar 最齐全的xstream1.4.8.jar 最齐全的xstream1.4.8.jar ...
XStream 反序列化漏洞(CVE-2020-26258 & 26259),修复jar包 xstream-1.4.15.jar Xstream 是 Java 类库,用来将对象序列化成 XML (JSON) 或反序列化为对象。XStream 是一款开源软件,允许在 BSD 许可证的许可下分发...
xstream最新版jar包
赠送jar包:xstream-1.4.11.jar; 赠送原API文档:xstream-1.4.11-javadoc.jar; 赠送源代码:xstream-1.4.11-sources.jar; 赠送Maven依赖信息文件:xstream-1.4.11.pom; 包含翻译后的API文档:xstream-1.4.11-...
xstream-1.4.19.jar
xstream-1.4.20.jar
xstream jar包,java对象转xml以及xml转java对象,操作很简单。
XStream在运行时使用Java反射机制对要进行序列化的对象树的结构进行探索,并不需要对对象作出修改。XStream可以序列化内部字段,包括私private和final字段,并且支持非公开类以及内部类。 在缺省情况下,XStream不...
xstream-1.4.2.jar,官网上也有,由于本人分没了,希望有分的同志给点分。如果你也每份,请上官网下,地址:http://xstream.codehaus.org/download.html
xstream 1.2 ,xstream 1.2.2.jar xstream 1.2 ,xstream 1.2.2.jar
xstream-1.4.2
xstream所需要的jar包,xstream-1.4.9.jar、dom4j-1.6.1.jar、xpp3_min-1.1.4c.jar等
XStream解析XML实例
XStream DOC
xstream xstream-1.4.5.jar
com.thoughtworks.xstream.converters.ConversionException: No field 'null' found in class '.....(注解的类路径)' ---- Debugging information ---- message : No field 'null' found in class '.....' cause...
赠送jar包:xstream-1.4.7.jar; 赠送原API文档:xstream-1.4.7-javadoc.jar; 赠送源代码:xstream-1.4.7-sources.jar; 赠送Maven依赖信息文件:xstream-1.4.7.pom; 包含翻译后的API文档:xstream-1.4.7-javadoc-...
修改XStream源码,解决SAE不支持XStream的问题。
powermock-classloading-xstream-1.4.7powermock-classloading-xstream-1.4.7powermock-classloading-xstream-1.4.7powermock-classloading-xstream-1.4.7powermock-classloading-xstream-1.4.7powermock-class...
webService接口对接时,需要传递一个xml内容。用xStream拼接xml