`
JavaSam
  • 浏览: 951925 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JAVA XML 开源工具 XOM 很好用

 
阅读更多

 

/**序列化**/
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.util.Arrays;
import java.util.List;

import nu.xom.Document;
import nu.xom.Element;
import nu.xom.Serializer;

public class Person {

	private String first , last;
	public Person(String first, String last){
		this.first = first;
		this.last = last;
	}
	public Element getXML(){
		Element person = new Element("person");
		Element firstName = new Element("first");
		firstName.appendChild(first);
		Element lastName = new Element("last");
		lastName.appendChild(last);
		person.appendChild(firstName);
		person.appendChild(lastName);
		return person;
	}
	public Person(Element person){
		first = person.getFirstChildElement("first").getValue();
		last = person.getFirstChildElement("last").getValue();
	}
	public String toString(){
		return first + " " + last;
	}
	public static void format(OutputStream os,Document doc)throws Exception{
		Serializer serializer = new Serializer(os,"UTF-8");
		serializer.setIndent(4);//怎么缩进
		serializer.setMaxLength(600);
		serializer.write(doc);//写出
		serializer.flush();//清空缓存
	}
	
	public static void main(String[] args) throws Exception {
		List<Person> people = Arrays.asList(new Person("Dr . Bunsen","Honeydew"),new Person("Gonzo", "The Great"),new Person("Phillip", "Fry"));
		System.out.println(people);
		Element root = new Element("people");
		for(Person p : people){
			root.appendChild(p.getXML());
		}
		Document doc = new Document(root);
		format(System.out, doc);
		format(new BufferedOutputStream(new FileOutputStream("People.xml")), doc);
	}
}
/**反序列化**/

import java.io.IOException;
import java.util.ArrayList;

import nu.xom.Builder;
import nu.xom.Document;
import nu.xom.Elements;
import nu.xom.ParsingException;
import nu.xom.ValidityException;

public class People extends ArrayList<Person>{

	public People(String xmlFile) throws ValidityException, ParsingException, IOException{
		Document document = new Builder().build(xmlFile);
		Elements eles = document.getRootElement().getChildElements();
		for(int i = 0 ; i < eles .size(); i++){
			add(new Person(eles.get(i)));
		}
	}
	public static void main(String[] args) throws ValidityException, ParsingException, IOException {
		People people = new People("People.xml");
		System.out.println(people);
	}
}
1
0
分享到:
评论

相关推荐

    xom-1.2.6,Java编程思想上提到的解析XML文件的工具

    XOM,全称为eXtensible Object Model,是一款在Java编程环境中用于解析和操作XML的开源库。在《Java编程思想》这本书中,作者Bruce Eckel深入探讨了如何使用XOM来有效地处理XML数据,强调了其在XML解析中的优势和...

    xom 1.2,一个开源的XML java类库

    **XOM 1.2:一个开源的XML Java类库** XOM,全称为eXtensible Object Model,是一款高效、简洁且类型的XML处理库,专门为Java开发人员设计。XOM 1.2是该库的一个重要版本,它提供了一系列增强功能和改进,以满足XML...

    xom-1.2.7 xml

    XOM(XOM: A Simple XML API)是一个开源Java库,它提供了一种高效、健壮且类型安全的方式来处理XML文档。XOM的目标是提供一个比DOM(Document Object Model)和SAX(Simple API for XML)更好的API,它结合了两者的...

    java se开发的xom,xml-rpc及oracle、sql2008数据库连接包

    XOM(eXtremely Object-Oriented XML Library)是一个用于Java的XML解析库,它的设计目标是提供一种高效、易于使用且类型安全的方式来处理XML文档。XOM提供了一种树型结构来表示XML文档,使得开发者能够通过对象方法...

    nu.xom xom xom.jar -1.2.3

    XOM,全称为eXtensible Object Model,是一款在Java平台上用于XML处理的库。它由天文学家和软件开发者Tim Bray发起,并以其强大的类型安全、API简洁和高性能而受到开发者的欢迎。XOM的核心设计理念是提供一个既简单...

    java转换xml、list、map和json

    在Java中,xml和map之间的转换可以通过使用dom4j库来实现。dom4j是一个Java开源库,提供了对XML文档的解析和生成功能。 例如,在上面的代码中,maptoXml方法将Map对象转换为xml字符串。该方法首先创建了一个...

    java对xml操作的项目案例

    本项目案例“java对xml操作的项目案例”深入探讨了如何使用Java来读取、修改和写入XML文件。下面将详细阐述相关知识点。 一、Java与XML的交互 1. DOM解析器:Document Object Model (DOM) 是一种将整个XML文档加载...

    使用xom处理xml文档的demo源码

    总之,这个“使用XOM处理XML文档的demo源码”是一个很好的起点,可以帮助初学者理解XOM库的基本用法,以及如何将这些技术融入到实际的Java应用中。通过深入学习和实践,开发者可以进一步提升在处理XML文档时的效率和...

    XML.rar_XML SAX_XML java_dom xml_java xml_java解析xml

    除了Java自带的解析库,还有第三方库如JAXB(Java Architecture for XML Binding)用于对象与XML之间的映射,以及DOM4J、XOM等提供更高级别的接口,简化XML处理。 5. 实战应用: 在实际项目中,根据需求选择合适的...

    Java解析XML.zip

    本压缩包“Java解析XML.zip”包含了两个关键的第三方库:jaxen-1.1.1.jar和dom4j-1.6.1.jar,它们是Java解析XML文件的重要工具。 首先,让我们了解一下**DOM4J**。DOM4J是一个强大的Java XML API,它提供了灵活且高...

    xom-1.3.4 _www.4huh59.xom_www.4hudd30..xom_www.3DGayWorlds.xom_x

    标题中的"xom-1.3.4"可能指的是XML Object Model的一个特定版本,这是一个开源Java库,用于处理XML文档。这个版本号1.3.4表明这是该库的一个更新版本,可能包含了错误修复、性能改进或者新功能。而跟在后面的URL字符...

    xom jar包 xml用的

    xom jar包 xml用的,自己用的,thank csdn!

    xom-1.2.9.jar (XML解析工具)

    xom 是一款XML解析器,它提供了一套非常省力的API,对Xml进行解析和操作。 导入Eclipse方法: 1.右键Eclipse中的工程,选择Build Path-&gt;Configure Build Path 2.选择Add External Jar,选择xom-1.2.9.jar即可

    Java实现XML解析【JDom】

    Java中的XML解析是处理XML数据的关键技术,JDom是一个高效的、纯Java的XML处理库,它为Java开发者提供了便捷的方式来创建、修改和读取XML文档。在这个资源中,我们将探讨如何利用JDom来解析XML文件,并从MySQL数据库...

    xom-1.1.jar包

    总之,XOM-1.1.jar作为Java中处理XML的强大工具,不仅提供了一套完整的XML解析和操作API,还能与其他库如Json-lib协同工作,实现XML和JSON的数据格式转换。这对于现代应用程序的开发,尤其是涉及多格式数据交换的...

    xml解析在java中的应用小程序

    Java提供了内置的API用于XML解析,如JAXB(Java Architecture for XML Binding),DOM4J,XOM,以及Apache的Commons Digester和XMLBeans等。其中,JAXB用于对象和XML之间的自动转换,方便数据绑定;DOM4J和XOM是基于...

    Java中解析Xml所系jar包集合

    在Java编程环境中,XML(eXtensible Markup Language)是一种常用的数据交换格式,用于存储和传输结构化数据。为了在Java中解析XML文档...同时,理解并掌握这些库的使用,将有助于提高Java应用处理XML的效率和灵活性。

    xml 与json转换代码

    在Java中,可以使用各种库来实现XML到JSON的转换,其中XStream是一个流行的库,它提供了强大的XML序列化和反序列化功能。XStream虽然主要设计用来XML操作,但也可以通过添加额外的转换器来处理JSON。首先,你需要...

    DOM4J xml解析工具

    6. **集成其他技术**:DOM4J与许多其他Java库如JAXB(Java API for XML Binding)、JDOM、XOM等有良好的集成,可以方便地与其他XML处理技术配合使用。 7. **性能优化**:DOM4J在设计时考虑了性能,如使用缓存机制...

    xom.jar json-lib struts2 包

    XOM支持XPath查询和Namespace支持,对于需要处理XML数据的Java应用来说,是一个强大而实用的工具。 2. **json-lib**: json-lib是一个Java库,用于将Java对象转换为JSON(JavaScript Object Notation)格式,反之...

Global site tag (gtag.js) - Google Analytics