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

JAVA-XML应用学习(1)

    博客分类:
  • JAVA
阅读更多

这天几做了一些有关XML的应用,如从数据库取出数据以XML格式为FLASH提供数据源,以及以XML为基础的接口应用,主要还是用它来保存数据、传输数据。

如今JAVA中XML API大概有4种,DOM、SAX、JDOM、DOM4J,不过应用最多的算是DOM4J,性能最好。它是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件。如今你可以看到越来越多的Java软件都在使用DOM4J来读写XML,特别值得一提的是连Sun的JAXM也在用DOM4J.

如下是一个DOM4J的小实例:

package com.dujiali.test;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.util.List;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;

public class XMLTest {
	
	public String makeXml()
	{
		Document doc = DocumentHelper.createDocument();
		doc.setXMLEncoding("GBK");	//设置XML文件编码格式
		Element root = doc.addElement("info");
		Element element;
		element = root.addElement("user").addAttribute("username", "leign")
		.addAttribute("password", "testpass")
		.addElement("userInfo");
		element.addElement("性别").addText("男")
		.addAttribute("年龄", "22");
		
		String xmlStr = doc.asXML();
		
		System.out.println("xml===="+xmlStr);
		
		return xmlStr;
	}
	
	public Element getElemntByParseText(String xmlStr)
	{
		Element element = null;
		Document doc;
		try {
			//解析XML内容
			doc = DocumentHelper.parseText(xmlStr);
			Element root = doc.getRootElement();
			
			//获得指定元素
			element = root.element("user");
			System.out.println("element===="+element);
			
			//遍历
			List elementList = root.elements();
			if(elementList!=null && elementList.size()>0){
				int i=0,len=elementList.size();
				while(i<len){
					element = (Element)elementList.get(i);
					System.out.println("element===="+element);	
					i++;
				}
			}
		} catch (DocumentException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return element;
	}
	
	public void makeFile(String content)
	{
		try {
			File xmlFile = new File("D:\\testXml.xml");
			FileOutputStream fout = new FileOutputStream(xmlFile);
			if(content!=null)
				fout.write(content.getBytes());
			fout.flush();
			fout.close();
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	public static void main(String[] args)
	{
		XMLTest xmltest = new XMLTest();
		String xmlContent = xmltest.makeXml();
		xmltest.makeFile(xmlContent);
		System.out.println(""+xmltest.getElemntByParseText(xmlContent));
	}
}


生成的XML文件,可根据内容区别addElemnt()与addAttribute()的区别
<?xml version="1.0" encoding="GBK"?>
<info>
	<user username="leign" password="testpass">
		<userInfo>
			<性别 年龄="22">男</性别>
		</userInfo>
	</user>
</info>


说到XML与其他文件格式的转换,比较常见的有Excel、HTML、DOC等,其实Excel、WORD这些OFFICE文件本身就可以另存为XML格式,只是比一般的XML多了一些格式样式,且Excel可以自己识别它所转化的XML文件。网上也有很多XML文件转换器,有兴趣的朋友可以深入了解一下。
1
0
分享到:
评论

相关推荐

    simple-xml-2.7.1

    1. **序列化**:Simple-XML的序列化过程是将Java对象转换为XML文档。通过在类或字段上使用`@Element`、`@Attribute`等注解,可以指示哪些属性应当被转换为XML元素或属性。例如,一个`Person`类可以这样定义: ```...

    Java-XML学习手册

    ### Java-XML学习手册知识点详解 #### 一、XML简介 **XML**(Extensible Markup Language)即**可扩展标记语言**,与**HTML**(HyperText Markup Language)一样,都源自**SGML**(Standard Generalized Markup ...

    Java-xml.rar_XML java_java xml_javaXML.rar_javaxml.r_xml 网站

    此外,"javaxml.r_xml"和"javaxml.r"标签可能指的是Java的JAXB框架,这是一个用于XML绑定的Java标准,可以自动将Java对象映射为XML文档,反之亦然。这大大简化了处理XML数据的过程,尤其是在构建Web服务或需要与XML...

    java-xml.zip_xml;源代码;

    本资源“java-xml.zip”包含了一组关于Java处理XML的源代码示例,对于学习和理解如何在Java应用中有效地操作XML文件非常有帮助。 XML是一种自描述的标记语言,它定义了数据结构和内容,而不仅仅是显示格式。XML文件...

    Java-XML-programming-examples.rar_java programming

    通过“Java操作XML编程实例解析.doc”文档,你将能够看到如何在实际项目中应用上述技术,包括创建、读取、修改和验证XML文档,以及如何利用XML进行数据交换。每个示例都将帮助你巩固理论知识,并提升实际编程技能。...

    java-xml自动生成对象实体以及与xml相互转化.zip_Java doc转xml_java xml 转 实体_java 毕

    6. **Java毕业设计**:这个主题可能表明这个项目是学生在学习Java课程时的一个实践项目,涉及到了XML处理这一重要技能,这对于理解Java企业级应用开发是很有帮助的。 压缩包中的`trang.jar`可能是一个用于XML转换的...

    vtd-xml XML解析工具

    VTD-XML是一款高效、灵活且功能强大的XML解析工具,由XimpleWare公司开发。它在XML处理领域中因其性能优异、内存占用低...通过学习和掌握VTD-XML,开发者可以更好地应对XML处理的挑战,提高代码的效率和项目的成功率。

    selenium-java-2.47.1.zip

    总之,"selenium-java-2.47.1.zip" 是一个用于自动化网页测试的重要工具,包含了一系列的Java库和资源,可以帮助你构建高效、可靠的Web应用测试框架。无论是初学者还是经验丰富的测试工程师,都能从中受益。

    mysql-connector-java-5.1.37jar包和源码

    1. 添加依赖:在Java项目中,你需要将`mysql-connector-java-5.1.37.jar`添加到项目的类路径中,这可以通过IDE的配置或在构建脚本(如Maven的pom.xml或Gradle的build.gradle)中指定依赖来实现。 2. 建立连接:使用...

    JAVA-配置生成XML文件和FTP上传程序

    在IT行业中,JAVA是一种广泛应用的编程语言,尤其在企业级应用开发中占据着主导地位。本项目名为"JAVA-配置...通过学习和理解这个项目,我们可以深入掌握JAVA处理XML和FTP操作的技术,并能灵活运用到自己的项目中去。

    vtd-xml相关资料.zip

    6. **Java_tutorial_by_code_examples_2.3**:这可能是关于使用Java编程语言与VTD-XML结合的教程,包含了大量的代码示例,可以帮助开发者快速掌握VTD-XML在Java环境中的应用。 7. **ximpleware-2.13-4-java**:这...

    Adaptive-News-Storage-System-in-Java-and-XML-源码.rar

    标题 "Adaptive News Storage System in Java and XML" 暗示了一个使用Java编程语言和XML数据...通过深入学习和实践该项目,开发者可以提升自己的Java和XML技能,更好地理解如何构建适应性强、可扩展的新闻管理系统。

    Java and XML(英文第三版)_java_xml_birdsolc_源码

    《Java and XML(英文第三版)_java_xml_birdsolc_源码》是关于Java与XML集成编程的一本权威指南,特别适合于那些希望深入理解如何在Java应用程序中有效地使用XML技术的开发者。这本书详细阐述了Java平台上的XML处理...

    Java-WebService应用实例

    总的来说,这个Java WebService应用实例为学习和实践如何在Java环境下使用Spring和XFire开发和部署WebService提供了一个很好的平台。通过对这个实例的深入研究,开发者不仅可以掌握WebService的基本概念,还能了解...

    JSP-XML.rar_XML JSP_XML java_java xml_jsp_考试系统

    在JSP(JavaServer Pages)应用中,XML通常用于存储配置信息、数据交换或表示复杂的数据结构。在本例中,XML可能被用来定义考试题目、选项和答案,以利于程序解析和展示。 **JSP(JavaServer Pages)** JSP是Java...

    VDT-XML解析xml文件,修改、查找xml文件。

    XML(eXtensible Markup Language)是一种...通过学习和实践VDT-XML,开发者能够更有效地处理XML数据,提高应用程序的灵活性和效率。结合提供的Java代码示例,你可以深入理解XML解析的原理,并将其应用到实际项目中。

    Java and XML, 3rd Edition

    包括StAX的工厂方法(factory)、文档生成和XMLPull *使用JAXB进行数据绑定,使用新的JAXB 2.0 annotation *使用RSS进行网络同步和podcasting *表示层的XML应用,主要针对Ajax和Flash应用程序 无论您...

    Java-Java操作XML和JSON教程

    Java是一种广泛使用的编程语言,尤其在企业级应用开发中占据主导地位。...通过学习,你将能够熟练地在Java中操作XML和JSON,从而提升你的开发效率和代码质量。记得访问提供的百度网盘链接获取教程资源,祝你学习顺利!

    java心电图xml解析.zip

    Java XML解析是Java开发中的一项重要技能,尤其是在处理结构化数据时。XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用于配置文件...同时,这也提供了一个学习和实践Java XML解析能力的好机会。

Global site tag (gtag.js) - Google Analytics