dom4j的XMLWrtier输出问题实例分析
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍"dom4j的XMLWrtier输出问题实例分析"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"dom4j的XMLWrtier输出问题实例分析"
千家信息网最后更新 2026年11月03日dom4j的XMLWrtier输出问题实例分析
这篇文章主要介绍"dom4j的XMLWrtier输出问题实例分析"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"dom4j的XMLWrtier输出问题实例分析"文章能帮助大家解决问题。
首先先说一下现象吧,如果XML里面包含了一些特殊字符,比如 这个是line feed,也就是换行符。在经过它输出后总是会变成\n, 不好干预它的转化。下面来看具体的例子。
这个是原始的xml文件:
Xml代码
Package>
下面是测试代码:
Java代码
package org.powermock.examples.dom4j; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStreamReader; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; import javax.xml.transform.stream.StreamResult; import junit.framework.Assert; import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; import org.dom4j.io.DocumentSource; import org.dom4j.io.XMLWriter; import org.junit.Test; public class TestXMLOutput { public final static String FILE_NAME = "text.xml"; @Test public void testDom4j() { Document document = createDocument(); try { Element rootElement = document.getRootElement(); String packageName = rootElement.attributeValue("name"); Assert.assertEquals("Test\nTest", packageName); FileOutputStream fos = new FileOutputStream("dom4j_"+FILE_NAME); XMLWriter writer = new XMLWriter(fos); writer.setEscapeText(false); writer.write(document); fos.close(); writer.close(); } catch (Exception e) { e.printStackTrace(); } } @Test public void testDom(){ Document document = createDocument(); try { FileOutputStream fos = new FileOutputStream("dom_"+FILE_NAME); // Use a Transformer for output TransformerFactory tFactory = TransformerFactory.newInstance(); Transformer transformer = tFactory.newTransformer(); transformer.setOutputProperty("indent","yes"); transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount","4"); transformer.setOutputProperty("encoding","UTF-8"); DocumentSource source = new DocumentSource(document); StreamResult result = new StreamResult(fos); transformer.transform(source,result); fos.close(); } catch (Exception e) { e.printStackTrace(); } } private Document createDocument(){ Document document = null; try { File file = new File(FILE_NAME); BufferedReader reader = new BufferedReader( new InputStreamReader(new FileInputStream(file))); StringBuffer buffer = new StringBuffer(); String line = ""; while((line = reader.readLine()) != null){ buffer.append(line); } reader.close(); document = DocumentHelper.parseText(buffer.toString()); } catch (Exception e) { e.printStackTrace(); } return document; } }下面是dom4j的转换后的输出:
Xml代码
Package>
下面是transfomer的输出:
Xml代码
Package>
大家看到效果了把,dom4j变成了 \n, 但是transfomer还是原来的格式。
关于"dom4j的XMLWrtier输出问题实例分析"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。
输出
代码
问题
实例
实例分析
分析
知识
行业
不同
原始
实用
特殊
不好
也就是
例子
内容
字符
实用性
实际
换行符
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
华服互联网科技靠谱吗
广州互联网科技公司
科技创新互联网企业
融势互联网科技
互联网科技logo设计
洛阳昕诺飞互联网科技有限公司
互联网保险科技创业
乌苏新华互联网科技做什么的
允成互联网科技有限公司融资
互联网科技创新的路径
美国互联网科技实力
山东子淼互联网科技有限公司
南通创西澳互联网科技有限公司
伍佰万互联网科技怎么赚钱
雨阳互联网卡科技有限公司
广东工业互联网大赛深圳学泰科技
广东鹅鹅鹅互联网科技有限公司
互联网科技企业商标注意事项
黑龙江互联网科技公司
互联网大会出现的黑科技
什么是科技互联网
互联网 的科技创新
互联网金融科技创新
沃里互联网科技
互联网科技logo
科技与互联网哪个更好
科技类公司包括互联网吗
互联网数据科技专业
江苏互联网智能科技软件
版纳互联网科技选哪家