有的时候我们在写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文档源码。比较全 1.DOM生成和解析XML文档 2.SAX生成和解析XML文档 3.DOM4J生成和解析XML文档 4.JDOM生成和解析XML
在Java编程中,生成XML文件并发送报文是一项常见的任务,尤其在系统间的数据交换、API调用或者网络通信中。XML(eXtensible Markup Language)是一种结构化数据表示语言,具有良好的可读性和可扩展性,是数据传输的...
在“java根据xml生成schema_xsd”这个过程中,我们需要先创建XSD文件。通常,如果你已经有了一个XML文档,你可以通过解析XML来创建XSD。这个过程可以通过各种工具完成,比如使用Apache XMLBeans、JAXB(Java ...
Java2XML生成XML
在Java编程环境中,XML(可...总的来说,Java解析XML生成JSON对象的能力使得数据在不同平台和应用间无缝交换成为可能。通过学习和使用这样的工具类,开发者可以更高效地处理XML数据,并将其集成到基于JSON的系统中。
标题“java根据xml生成schema_xsd_生成javabean”涉及的知识点主要包括: 1. XML到XSD的转换:XML文档可以被转化为XSD文件,以定义其结构和数据类型。这个过程通常通过工具完成,比如`trang.jar`,这是一个开源的...
用java生成xml文档.DocumentBuilderFactory DocumentBuilder Document doc;至此可以用doc来操作xml文档了
以下是一个基本的步骤,展示如何使用Java和Apache POI通过XML解析生成Word文档: 1. 引入Apache POI库:在项目中添加Apache POI依赖,通常是通过Maven或Gradle的配置完成。 2. 创建Word文档对象:使用`...
同样,Java也可以反向操作,从XML生成Java对象或XSD。使用Unmarshaller可以将XML数据解析为Java对象,而使用工具如JAXB或XML Schema Tools则可以生成XSD文件。 在提供的压缩包文件`xml_test`中,可能包含了用于演示...
Java解析和生成XML的知识点主要涵盖了使用JAXB(Java Architecture for XML Binding)框架来实现Java对象与XML(可扩展标记语言)之间的数据转换。JAXB提供了一种便捷的方式,通过注解(Annotation)来实现这一过程...
### JAVA生成XML文件知识点 #### 一、简介 在Java编程中,生成XML文件是一种常见的需求,尤其是在数据交换、配置管理或系统间通信时。本文档通过一个具体的示例介绍了如何使用Java语言来生成XML文件,并对代码进行...
JAVA中生成xml文件到指定路径和上传到ftp服务器到指定路径的方法。
java生成xml文件的时候如何控制xml的缩进格式.pdf
总结起来,实现“java解析xml动态生成树形菜单结构”的项目,需要掌握以下核心知识点: 1. Java的DOM解析XML,构建树形数据结构。 2. 设计和实现无限层级的树形菜单数据模型。 3. 使用`JSTree`库在前端渲染树形菜单...
标题中的"java 读取xml文件生成树形图"指的是使用Java代码读取XML文件,并将文件内容构建为一棵树,其中每个XML元素都是树上的一个节点。接下来,我们将深入探讨如何实现这个过程。 1. DOM解析器:DOM是将整个XML...
### Java操作XML文件读写与树型菜单生成详解 #### 一、背景介绍 在现代软件开发中,XML(Extensible Markup Language)被广泛应用于数据交换、配置文件管理以及多种跨平台的应用场景中。Java作为一种重要的后端开发...
在Java编程中,处理Excel和XML文件是常见的需求,特别是在数据导入导出、报表生成以及数据分析等场景。本文将深入探讨四个使用Java解析和生成Excel及XML的实例,旨在帮助开发者掌握相关技能。 实例一:解析Excel...
XML生成XSD xml生成xsd 生成xsd工具 工具 使用方法: java -jar trang.jar xml文件绝对路径 要生成的xsd文件绝对路径 例如在当前目录有文件aaa.xml,需要生成xsd文件名为aaa,并存放在当前目录: java -jar trang....
在Java编程中,生成XML文件是一项常见的任务,特别是在数据存储、配置管理或数据交换的应用场景。XML(eXtensible Markup Language)是一种结构化数据格式,具有良好的可读性和易于解析的特点。本教程将深入讲解如何...
在Java编程中,生成XML文件是一项常见的...DOM适合小规模、简单的XML生成,JAXB适合Java对象到XML的映射,而模板引擎则提供了更大的灵活性和可读性。在实际应用中,结合使用这些技术可以满足各种复杂的XML生成场景。