dom4j的XMLWrtier输出问题实例分析
发表于:2025-01-25 作者:千家信息网编辑
千家信息网最后更新 2025年01月25日,这篇文章主要介绍"dom4j的XMLWrtier输出问题实例分析"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"dom4j的XMLWrtier输出问题实例分析"
千家信息网最后更新 2025年01月25日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安全错误
数据库的锁怎样保障安全
沈阳 软件开发有哪些学院
battle数据库使用
怎么查看rds云数据库的ip
奥哲网络技术待遇
火河科技服务器异常怎么解决
现行软件开发关键节点
产业互联网是金融科技主战场吗
服务器上架安装图
高校网络安全运维挑战赛
cdn服务器连接异常手机
杭州工商银行软件开发中心薪资
vs2010内置sql数据库
软件开发完成后源码怎么办
php如果数组中没有数据库
下列不属于网络安全策略的组成是
宝安存储服务器机箱定制
2015年华为推出的服务器
金的xrd数据库
宝德服务器开机格式化
网络安全的基本功
c 如何设计数据库
部队官兵网络安全意识
网络安全法空间主权
cdn服务器连接异常手机
xlist数据库
趋势科技属于互联网企业吗
VB软件开发步骤
我的世界服务器给予玩家点券
linux数据库命
想自学软件开发怎么开始