`

如何将xml的String字符串转化标准格式的String字符串

    博客分类:
  • XML
XML 
阅读更多

      最近,媳妇要做一个String串的格式化处理,一开始采用dom4j转化为Document对象的形式,结果不起作用,后来还是采用dom4j的方式,最终输出了一个规则的XML的String字符串,下面看看如何实现的。

import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.StringWriter;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;

public class ToolUtrils {

	/**
	 * 字符串转化为XML串
	 * 
	 * @param str
	 * @return
	 * @throws Exception
	 */
	public static String strChangeToXML(String str) {
		SAXReader saxReader = new SAXReader();
		Document document = null;
		try {
			document = saxReader.read(new ByteArrayInputStream(str.getBytes()));
		} catch (DocumentException e) {
			e.printStackTrace();
		}
		StringWriter writer = new StringWriter();
		OutputFormat format = OutputFormat.createPrettyPrint();
		format.setEncoding("UFT-8");
		XMLWriter xmlwriter = new XMLWriter(writer, format);
		try {
			xmlwriter.write(document);
		} catch (IOException e) {
			e.printStackTrace();
		}
		return writer.toString();
	}

	/**
	 * 测试程序文件
	 * 
	 * @param args
	 */
	public static void main(String[] args) {
		String str = "<?xml version='1.0' encoding='UTF-8'?><GESInfo><City id='苏州' name='苏州' code='1001'><Area id='市区' name='市区' code='10011001' LocationSetup='0'><Place id='观前' name='观前' code='100110011001' LocationSetup='1'><Monitor id='摄像头1' name='摄像头1' code='11000000000000000011200034800000' gesid='abcde1' channelid='1' VideoScan='1' Capture='1' ManualREC='1' RecPlay ='1' MonControl='1' />    <Monitor id='摄像头2' name='摄像头2' code='11000000000000000011200034800000' gesid='abcde2' channelid='1' VideoScan='1' Capture='1' ManualREC='1' RecPlay ='1' MonControl='1' /></Place><Place id='石路' name='石路' code='100110011002' LocationSetup='2'><Monitor id='摄像头3' name='摄像头3' code='11000000000000000011200034800000' gesid='abcde3' channelid='1' VideoScan='1' Capture='1' ManualREC='1' RecPlay ='1' MonControl='1' />    <Monitor id='摄像头4' name='摄像头4' code='11000000000000000011200034800000' gesid='abcde4' channelid='1' VideoScan='1' Capture='1' ManualREC='1' RecPlay ='1' MonControl='1' /> </Place></Area><Area id='园区' name='园区' code='10011002' LocationSetup='0'><Place id='科技园' name='科技园' code='100110011003' LocationSetup='1'><Monitor id='摄像头5' name='摄像头5' code='11000000000000000011200034800000' gesid='abcde5' channelid='1' VideoScan='1' Capture='1' ManualREC='1' RecPlay ='1' MonControl='1' />    <Monitor id='摄像头6' name='摄像头6' code='11000000000000000011200034800000' gesid='abcde6' channelid='1' VideoScan='1' Capture='1' ManualREC='1' RecPlay ='1' MonControl='1' /> </Place><Place id='金鸡湖' name='金鸡湖' code='100110011004' LocationSetup='2'><Monitor id='摄像头7' name='摄像头7' code='11000000000000000011200034800000' gesid='abcde7' channelid='1' VideoScan='1' Capture='1' ManualREC='1' RecPlay ='1' MonControl='1' />    <Monitor id='摄像头8' name='摄像头8' code='11000000000000000011200034800000' gesid='abcde8' channelid='1' VideoScan='1' Capture='1' ManualREC='1' RecPlay ='1' MonControl='1' /> </Place></Area></City></GESInfo>";
		System.out.println(strChangeToXML(str));
	}
}

 

输出结果如下:

<?xml version="1.0" encoding="UFT-8"?>

<GESInfo>
  <City id="苏州" name="苏州" code="1001">
    <Area id="市区" name="市区" code="10011001" LocationSetup="0">
      <Place id="观前" name="观前" code="100110011001" LocationSetup="1">
        <Monitor id="摄像头1" name="摄像头1" code="11000000000000000011200034800000" gesid="abcde1" channelid="1" VideoScan="1" Capture="1" ManualREC="1" RecPlay="1" MonControl="1"/>  
        <Monitor id="摄像头2" name="摄像头2" code="11000000000000000011200034800000" gesid="abcde2" channelid="1" VideoScan="1" Capture="1" ManualREC="1" RecPlay="1" MonControl="1"/>
      </Place>
      <Place id="石路" name="石路" code="100110011002" LocationSetup="2">
        <Monitor id="摄像头3" name="摄像头3" code="11000000000000000011200034800000" gesid="abcde3" channelid="1" VideoScan="1" Capture="1" ManualREC="1" RecPlay="1" MonControl="1"/>  
        <Monitor id="摄像头4" name="摄像头4" code="11000000000000000011200034800000" gesid="abcde4" channelid="1" VideoScan="1" Capture="1" ManualREC="1" RecPlay="1" MonControl="1"/> 
      </Place>
    </Area>
    <Area id="园区" name="园区" code="10011002" LocationSetup="0">
      <Place id="科技园" name="科技园" code="100110011003" LocationSetup="1">
        <Monitor id="摄像头5" name="摄像头5" code="11000000000000000011200034800000" gesid="abcde5" channelid="1" VideoScan="1" Capture="1" ManualREC="1" RecPlay="1" MonControl="1"/>  
        <Monitor id="摄像头6" name="摄像头6" code="11000000000000000011200034800000" gesid="abcde6" channelid="1" VideoScan="1" Capture="1" ManualREC="1" RecPlay="1" MonControl="1"/> 
      </Place>
      <Place id="金鸡湖" name="金鸡湖" code="100110011004" LocationSetup="2">
        <Monitor id="摄像头7" name="摄像头7" code="11000000000000000011200034800000" gesid="abcde7" channelid="1" VideoScan="1" Capture="1" ManualREC="1" RecPlay="1" MonControl="1"/>  
        <Monitor id="摄像头8" name="摄像头8" code="11000000000000000011200034800000" gesid="abcde8" channelid="1" VideoScan="1" Capture="1" ManualREC="1" RecPlay="1" MonControl="1"/> 
      </Place>
    </Area>
  </City>
</GESInfo>

 

分享到:
评论

相关推荐

    如何将xml的String字符串转化标准格式的String字符串(jdom)

    * 将非标准XML字符串转换为标准格式的XML字符串。 * * @param xml 非标准的XML字符串 * @return 标准格式的XML字符串 * @throws Exception 当解析或转换过程中发生错误时抛出 */ public static String ...

    将string类型xml字符串转为json字符串

    本篇文章将详细讲解如何将string类型的XML字符串转换为JSON字符串,并介绍相关的技术知识。 首先,理解XML和JSON的基本结构是至关重要的。XML是一种树形结构的标记语言,通过标签来定义元素和属性,例如: ```xml ...

    xml格式的字符串转换成List

    要将这样的XML字符串转换为List,我们需要解析XML并将其转化为相应的Java或C#对象。这个过程通常分为以下几个步骤: 1. **解析XML**:可以使用内置库或第三方库来解析XML字符串。在Java中,可以使用DOM(Document ...

    微信小程序-xml字符串转换json格式,适用于微信小程序

    xml字符串转换json格式 可用于微信小程序xml字符串转换json格式 安装 npm方式安装 npm install --save xmlstring2json bower方式安装 bower install xmlstring2json 用法示例: bookstore.xml文件 &lt;title&gt;...

    字符串转化为XML文件

    本文将详细介绍字符串转化为XML文件的知识点,包括XML文件的基本结构、StringBuilder类的使用、XML文档对象模型(DOM)、XML文件的保存等。 XML文件的基本结构 XML(Extensible Markup Language)是一种标记语言,...

    map/list集合转化成xml字符串 xml字符串转化成map/list集合

    本篇文章将详细介绍如何将Map和List集合转换为XML字符串,以及如何将XML字符串反向转换回Map和List集合。 首先,让我们探讨`Map`集合转成XML字符串的过程。一个`Map`对象存储键值对,可以使用各种库如`JAXB (Java ...

    实体类生成XML格式字符串

    本篇文章将详细讲解如何根据实体类生成XML格式的字符串,并提供一个自定义实体类转化为XML的示例。 首先,我们需要了解XML的基本结构。XML(eXtensible Markup Language)是一种标记语言,用于描述数据并定义其结构...

    java解析xml字符串

    1. **初始化XML源**:首先,将XML字符串转化为`StringReader`对象,这是为了将字符串转换为可以被SAXBuilder读取的形式。接着,使用`InputSource`封装`StringReader`,以便SAXBuilder能够正确识别并解析XML数据。 2...

    解析xml格式字符串

    计息xml格式的字符串,封装到Map&lt;String,Object&gt;集合中

    Android 对 strings.xml 的字符串进行格式化

    这里首先通过`R.string.my_text`获取到了字符串资源的ID,然后通过`getString()`方法将其转换为字符串。 #### 2.2 使用`String.format()`进行格式化 获取到字符串资源后,可以使用`String.format()`方法来进行格式...

    利用pugixml 转化xml为string

    利用pugixml 转化xml为string

    格式化xml字符串,并生成xml文件

    例如,使用`java.io.FileInputStream`和`java.io.InputStreamReader`读取XML文件,然后用`javax.xml.transform.Transformer`将XML文档转换为字符串。 ```java import java.io.File; import java.io.FileInputStream...

    使用dom4j将xml字符串转换成Bean对象

    要将XML字符串转换为Bean对象,我们首先需要创建一个Bean类,这个类的属性与XML节点相对应。例如,如果我们有以下XML字符串: ```xml &lt;name&gt;Yang Yong &lt;age&gt;30 &lt;email&gt;yangyong@example.com&lt;/email&gt; ``` 我们...

    将xml字符串转换为datatable

    ### 将XML字符串转换为DataTable的知识点 #### 1. XML与DataTable简介 - **XML (Extensible Markup Language)**:一种用于标记数据的语言,它的设计目的是传输和存储数据。XML非常灵活,可以用来定义自己的标签,...

    xml字符串解析

    本文将深入探讨如何将XML数据转化为字符串形式,并利用DOM4J库进行解析。 XML字符串解析首先需要理解XML的基本结构。XML文档由元素(Element)、属性(Attribute)、文本内容(Text)等构成,元素是XML的最基本组成...

    将对象(java bean)转换为xml字符串

    在Java开发中,有时我们需要将Java Bean对象转换成XML字符串,以便于数据交换或存储。XStream库就是这样一个工具,它提供了一种简单且高效的方式来实现这个目标。XStream不仅能够将Java对象转换为XML,还可以反向将...

    XML文档转换成字符串

    将XML文档转换成字符串通常是指将XML文档的结构和内容转化为一个单一的文本字符串。 在Java中,我们可以利用DOM(Document Object Model)解析器和Transformer类来实现这个转换。DOM解析器将XML文档加载到内存中,...

    C++解析xml文档或者xml字符串方法

    在这个例子中,`parseXMLString`函数接收一个XML字符串,将其转化为`BSTR`,然后调用`RealPlay`函数。在`RealPlay`中,使用`loadXML`方法解析XML字符串,而不是`load`方法,因为`loadXML`用于解析内存中的XML字符串...

    JAVA JAXB 解析XML嵌套子节点为字符串

    在Java开发中,JAXB(Java Architecture for XML Binding)是一个标准的API,用于将XML文档与Java对象之间进行互相转换。这个技术对于处理XML数据,尤其是解析和生成XML文档非常有用。当我们面临XML文档中存在嵌套子...

    java 中HttpClient传输xml字符串实例详解

    至此,我们已经成功地使用Java的HttpClient库将一个对象转换为XML字符串,并以二进制流的方式发送到了服务器。这个过程中涉及的关键技术包括对象到XML的转换(JAXB)、流操作(ByteArrayOutputStream和...

Global site tag (gtag.js) - Google Analytics