使用jdom创建xml文本并格式化输出为字符串xml

原创 2015年07月10日 10:24:06
import java.io.ByteArrayOutputStream;
import java.io.IOException;

import org.jdom.Attribute;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.Namespace;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;

public class GeneralXML {

	public static void main(String[] args) throws IOException {
		//最终生成输出的xml
		String xml = "<beans   "
				+ "xmlns=\"http://www.springframework.org/schema/beans\"    "
				+ "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"   "
				+ "xsi:schemaLocation=\"http://www.springframework.org/schema/beans   http://www.springframework.org/schema/beans/spring-beans.xsd\"> "
				+ "version=\"1.0\""
				+ "<bean id=\"user\" class=\"cn.zlz.User\"> "
				+ "<property name=\"sexs\">男</property>" + "</bean>"
				+ "</beans>  ";
//		System.out.println(xml);
		Element root = new Element("beans");
		Document doc = new Document(root);
		//添加第一个声明
		Namespace ns = Namespace.getNamespace("","http://www.w3.org/2001/XMLSchema-instance");
		//这里使用setNamespace
		root.setNamespace(ns);
		//添加第二个声明,xsi,第三个的时候需要用
		Namespace ns1 = Namespace.getNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance");
		root.addNamespaceDeclaration(ns1);
		//添加 si:schemaLocation 需要使用第二个声明
		root.setAttribute(new Attribute(
				"schemaLocation",
				"http://www.springframework.org/schema/beans   http://www.springframework.org/schema/beans/spring-beans.xsd",
				ns1));
		//添加属性
		root.setAttribute("version", "1.0");
		//创建下级节点
		Element bean = new Element("bean");
		bean.setAttribute("id", "user");
		bean.setAttribute("class", "cn.zlz.User");
		//这里再添加一次声明,不知道为什么不添加这句,会使root的子节点都会有一个 xlmns = ""的属性。
		bean.setNamespace(ns);
		
		Element property = new Element("property");
		property.setAttribute("name", "sexs");
		//添加属性节点
		property.setText("男");
		Element bean1 = new Element("bean1");
		bean1.setNamespace(ns);
		//将节点添加到父节点
		bean.addContent(property);
		root.addContent(bean);
		root.addContent(bean1);
		
		//格式化输出xml文件字符串
		Format format = Format.getCompactFormat();
		format.setEncoding("utf-8");
		//这行保证输出后的xml的格式
		format.setIndent(" ");
		XMLOutputter xmlout = new XMLOutputter(format);
		ByteArrayOutputStream byteRsp = new ByteArrayOutputStream();
		xmlout.output(doc, byteRsp);
		String str = byteRsp.toString("utf-8");
		System.out.println(str);
	}
}

jdom处理的XML Document 和String 之间的相互转化

package util; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileWriter...

java 生成xml并转为字符串

import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.DocumentBuilder; import ja...

JAVA使用Dom4j实现字符串和xml文件相互转换

在文章《JAVA 使用Dom4j 解析XML》中,介绍了使用Dom44j解析XML,比如节点的遍历...
  • yyywyr
  • yyywyr
  • 2014年08月03日 21:39
  • 36368

Tinyxml 创建xml 并以string形式进行解析 及中文处理

关于Tinyxml的故事就不多说了,本文主要讲怎么利用它创建xml文档 以 xml string形式在内存中解析xml ,以及关于UTF-8编码格式的XML文件如何写入、显示中文字符串等细节问题。 ...

创建XML文档并保存到字符串(String)

package com.bjpowernodetest; import java.io.IOException; import java.io.StringWriter; import org.d...

java创建xml格式的字符串

package com.util.utils; import java.util.List; import org.jdom.Document; import org.j...

java格式化xml字符串

上篇博客是利用前台js来格式化xml字符串

Java使用Dom4j格式化XML字符串

/* //格式化XML字符串 public static String formatXml(String str) throws Exception { Document do...

dom4j格式化xml文件

dom4j格式xml并输出为*.xml文件  Java代码   public static void main(String[] args) {          Docum...

JAVA字符串格式化-String.format()的使用 及 Android 中 string.xml 中 字符串格式转化

常规类型的格式化 String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处。format()方法有两种...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用jdom创建xml文本并格式化输出为字符串xml
举报原因:
原因补充:

(最多只允许输入30个字)