`
jsjxqjy
  • 浏览: 118252 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Java基础 XML的生成

阅读更多

有的时候我们在写WEB应用的时候,想输出某种格式的XML

 下面就介绍文本的XML的生成

 

XML的文本生成,关键点还是数据结构的构造

有了基本的结构,我们就可以建造自己想要的东西:

 

//用于构造xml数据的载体
 private StringBuffer sb;

    //Stack结构,方便domcument节点数据的的先进后出原则设计

     private Stack<String> stack;
   
 //用于属性节点的数据结构 :java.util.HashMap

//因为属性 都是 key - Value的形式 ,所以用Map或者Hashtable
 public HashMap<String, String> getAttributes() {
    return new HashMap<String, String>();
 }

 

下面就是 一些生成方法

    //初始化xml头部
	public XMLWriterDemo() {
		sb = new StringBuffer();
		stack = new Stack<String>();
		sb.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n");
	}
    //开始无属性的节点
	public void startElement(String s) {
		sb.append('<');
		sb.append(s);
		stack.push(s);
		sb.append(">\n");
	}
    //开始有属性的节点
	public void startElement(String s, HashMap<String, String> attr) {
		if (attr == null) {
			startElement(s);
			return;
		}
		sb.append("<");
		sb.append(s);
		stack.push(s);
		Set<Entry<String, String>> set = attr.entrySet();
		Iterator<Entry<String, String>> item = set.iterator();
		Entry<String, String> entry = null;
		while (item.hasNext()) {
			entry = item.next();
			String key = entry.getKey();
			String val = entry.getValue();
			sb.append(' ');
			sb.append(key);
			sb.append("=\"");
			sb.append(val);
			sb.append('"');
		}
		sb.append('>');
		sb.append("\n");
	}
    
	//结束节点
	public void endElement() {
		if (stack.isEmpty())
			return;
		String s = stack.pop();
		sb.append("</");
		sb.append(s);
		sb.append('>');
		sb.append("\n");
	}

	//添加内容节点
	public void writeElement(String elem, String cdata) {
		startElement(elem );
		if (cdata == null)
			sb.append("");
		else if (cdata.isEmpty())
			sb.append("");
		else
			sb.append(cdata+"\n");
		endElement();
	}

	public void writeElement(String elem, int val) {
		startElement(elem);
		sb.append(Integer.toString(val));
		endElement();
	}

	public void writeElement(String elem, long val) {
		startElement(elem);
		sb.append(Long.toString(val));
		endElement();
	}

	public void writeElement(String elem) {
		sb.append('<');
		sb.append(elem);
		sb.append("/> \n");
	}

	public void output() {
		System.out.println(sb.toString());
	}

 

 

以上代码仅供参考,如果有不对的地方希望大家指点

附源码:

分享到:

相关推荐

    JAVA 解析XML生成XML文档实例

    JAVA 解析XML和生成XML文档源码。比较全 1.DOM生成和解析XML文档 2.SAX生成和解析XML文档 3.DOM4J生成和解析XML文档 4.JDOM生成和解析XML

    java 通过模板生成 xml,发送报文

    在Java编程中,生成XML文件并发送报文是一项常见的任务,尤其在系统间的数据交换、API调用或者网络通信中。XML(eXtensible Markup Language)是一种结构化数据表示语言,具有良好的可读性和可扩展性,是数据传输的...

    java根据xml生成schema_xsd_生成javabean2

    在“java根据xml生成schema_xsd”这个过程中,我们需要先创建XSD文件。通常,如果你已经有了一个XML文档,你可以通过解析XML来创建XSD。这个过程可以通过各种工具完成,比如使用Apache XMLBeans、JAXB(Java ...

    Java2XML生成XML

    Java2XML生成XML

    java解析xml生成json对象

    在Java编程环境中,XML(可...总的来说,Java解析XML生成JSON对象的能力使得数据在不同平台和应用间无缝交换成为可能。通过学习和使用这样的工具类,开发者可以更高效地处理XML数据,并将其集成到基于JSON的系统中。

    java根据xml生成schema_xsd_生成javabean

    标题“java根据xml生成schema_xsd_生成javabean”涉及的知识点主要包括: 1. XML到XSD的转换:XML文档可以被转化为XSD文件,以定义其结构和数据类型。这个过程通常通过工具完成,比如`trang.jar`,这是一个开源的...

    java生成xml文件

    用java生成xml文档.DocumentBuilderFactory DocumentBuilder Document doc;至此可以用doc来操作xml文档了

    java XML解析方式实现自动生成word文档

    以下是一个基本的步骤,展示如何使用Java和Apache POI通过XML解析生成Word文档: 1. 引入Apache POI库:在项目中添加Apache POI依赖,通常是通过Maven或Gradle的配置完成。 2. 创建Word文档对象:使用`...

    java生成xsd,xml示例

    同样,Java也可以反向操作,从XML生成Java对象或XSD。使用Unmarshaller可以将XML数据解析为Java对象,而使用工具如JAXB或XML Schema Tools则可以生成XSD文件。 在提供的压缩包文件`xml_test`中,可能包含了用于演示...

    Java解析和生成XML.pdf

    Java解析和生成XML的知识点主要涵盖了使用JAXB(Java Architecture for XML Binding)框架来实现Java对象与XML(可扩展标记语言)之间的数据转换。JAXB提供了一种便捷的方式,通过注解(Annotation)来实现这一过程...

    JAVA生成XML文件.doc

    ### JAVA生成XML文件知识点 #### 一、简介 在Java编程中,生成XML文件是一种常见的需求,尤其是在数据交换、配置管理或系统间通信时。本文档通过一个具体的示例介绍了如何使用Java语言来生成XML文件,并对代码进行...

    java中生成xml文件,并上传至ftp服务器

    JAVA中生成xml文件到指定路径和上传到ftp服务器到指定路径的方法。

    java生成xml文件的时候如何控制xml的缩进格式.pdf

    java生成xml文件的时候如何控制xml的缩进格式.pdf

    java解析xml动态生成树形菜单结构

    总结起来,实现“java解析xml动态生成树形菜单结构”的项目,需要掌握以下核心知识点: 1. Java的DOM解析XML,构建树形数据结构。 2. 设计和实现无限层级的树形菜单数据模型。 3. 使用`JSTree`库在前端渲染树形菜单...

    java 读取xml文件生成树形图

    标题中的"java 读取xml文件生成树形图"指的是使用Java代码读取XML文件,并将文件内容构建为一棵树,其中每个XML元素都是树上的一个节点。接下来,我们将深入探讨如何实现这个过程。 1. DOM解析器:DOM是将整个XML...

    java操纵xml文件的读写,并根据xml生成树型菜单

    ### Java操作XML文件读写与树型菜单生成详解 #### 一、背景介绍 在现代软件开发中,XML(Extensible Markup Language)被广泛应用于数据交换、配置文件管理以及多种跨平台的应用场景中。Java作为一种重要的后端开发...

    java 解析、生成 Excel XML 四个实例

    在Java编程中,处理Excel和XML文件是常见的需求,特别是在数据导入导出、报表生成以及数据分析等场景。本文将深入探讨四个使用Java解析和生成Excel及XML的实例,旨在帮助开发者掌握相关技能。 实例一:解析Excel...

    根据XML生成xsd

    XML生成XSD xml生成xsd 生成xsd工具 工具 使用方法: java -jar trang.jar xml文件绝对路径 要生成的xsd文件绝对路径 例如在当前目录有文件aaa.xml,需要生成xsd文件名为aaa,并存放在当前目录: java -jar trang....

    java_动态生成XML文件

    在Java编程中,生成XML文件是一项常见的任务,特别是在数据存储、配置管理或数据交换的应用场景。XML(eXtensible Markup Language)是一种结构化数据格式,具有良好的可读性和易于解析的特点。本教程将深入讲解如何...

    java 通过模板生成 xml

    在Java编程中,生成XML文件是一项常见的...DOM适合小规模、简单的XML生成,JAXB适合Java对象到XML的映射,而模板引擎则提供了更大的灵活性和可读性。在实际应用中,结合使用这些技术可以满足各种复杂的XML生成场景。

Global site tag (gtag.js) - Google Analytics