JAVA实现String字符串转换成XML文件(格式规范)

本文介绍了一个使用Java进行XML文件生成的例子。通过解析特定格式的字符串并利用DOM4J库将其转换为XML文件,展示了如何创建符合UTF-8编码标准的格式良好的XML文档。

可能需要的jar:

pom.xml文件如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.gyyzye.shadow</groupId>
  <artifactId>demo-interface</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>demo-interface Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
        <dependency>
           <groupId>org.jdom</groupId>
           <artifactId>jdom</artifactId>
           <version>1.1.3</version>
        </dependency>
        
        <dependency> 
           <groupId>com.oracle</groupId> 
           <artifactId>ojdbc5</artifactId> 
           <version>11.2.0.1.0</version>
           <scope>runtime</scope>
        </dependency>
        <dependency>
          <groupId>dom4j</groupId>
          <artifactId>dom4j</artifactId>
          <version>1.6.1</version>
        </dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.jsoup</groupId>
			<artifactId>jsoup</artifactId>
			<version>1.8.1</version>
		</dependency>
		<dependency>
			<groupId>org.apache.poi</groupId>
			<artifactId>poi-ooxml</artifactId>
			<version>3.9</version>
		</dependency>
		<dependency>
			<groupId>commons-io</groupId>
			<artifactId>commons-io</artifactId>
			<version>2.3</version>
		</dependency>
	</dependencies>
  <build>
    <finalName>demo-interface</finalName>
  </build>
</project>
java代码如下:

package com.accord.test;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;

public class TestStringToXml {
	public static void main(String[] args) throws Exception {
		String xmlTo = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + "<ufinterface roottag=\"voucher\" billtype=\"gl\" replace=\"Y\" receiver=\"1112\" sender=\"01\" isexchange=\"Y\" proc=\"add\" operation=\"req\" filename=\"e:\\1.xml\">";
		
		xmlTo = xmlTo + "<voucher>" + "<voucher_body>" + "body";
		
		xmlTo = xmlTo + "</voucher_body>" + "</voucher>" + "</ufinterface>";
		
		String filename = "e:\\2018.xml" ;
		Document document = DocumentHelper.parseText(xmlTo);
		OutputXml(document,filename);
		
	}
	public static void OutputXml(Document doc,String filename){
		   OutputFormat format = OutputFormat.createPrettyPrint();
	       /** 指定XML编码 */
	       format.setEncoding("UTF-8");
	       /** 将document中的内容写入文件中 */
	       XMLWriter writer;
		try {
			writer = new XMLWriter(new FileWriter(new File(filename)), format);
			writer.write(doc);
		    writer.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	   }
}
运行结果:打开生成的XML文件如下:

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

<ufinterface roottag="voucher" billtype="gl" replace="Y" receiver="1112" sender="01" isexchange="Y" proc="add" operation="req" filename="e:\1.xml">
  <voucher>
    <voucher_body>body</voucher_body>
  </voucher>
</ufinterface>
格式挺好的!



String转换为XML格式可以使用Java自带的javax.xml.transform库中的Transformer类。可以按照以下步骤实现: 1. 创建一个DocumentBuilderFactory对象,用于创建一个DocumentBuilder对象。 2. 使用DocumentBuilder对象创建一个新的Document对象。 3. 将Java String解析为一个XML节点,并将它添加到Document中。 4. 创建一个TransformerFactory对象并创建一个Transformer对象。 5. 使用Transformer对象将Document对象转换为String。 下面是一个示例代码: ```java import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import org.w3c.dom.Document; import org.w3c.dom.Element; public class StringToXmlConverter { public static void main(String[] args) throws Exception { String input = "<root><message>Hello World</message></root>"; DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document doc = builder.parse(new InputSource(new StringReader(input))); TransformerFactory transformerFactory = TransformerFactory.newInstance(); Transformer transformer = transformerFactory.newTransformer(); DOMSource source = new DOMSource(doc); StreamResult result = new StreamResult(System.out); transformer.transform(source, result); } } ``` 在上面的示例中,我们将字符串`<root><message>Hello World</message></root>`转换为以下XML格式: ```xml <?xml version="1.0" encoding="UTF-8" standalone="no"?> <root> <message>Hello World</message> </root> ``` 你可以根据自己的需求修改示例中的代码。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值